<!--

    Copyright (c) 2021, 2021 University of Sao Paulo and Contributors.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html

    Contributors:
        Roberto Araujo - initial API and implementation and/or initial documentation

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>br.usp.each.saeg</groupId>
		<artifactId>jaguar2-build</artifactId>
		<version>0.0.2</version>
		<relativePath>./jaguar2-build/pom.xml</relativePath>
	</parent>

	<groupId>br.usp.each.saeg</groupId>
	<artifactId>jaguar2-parent</artifactId>
	<version>0.0.2</version>
	<packaging>pom</packaging>

	<scm>
		<url>https://github.com/saeg/jaguar2</url>
		<connection>scm:git:https://github.com/saeg/jaguar2.git</connection>
		<developerConnection>scm:git:git@github.com:saeg/jaguar2.git</developerConnection>
		<tag>v0.0.2</tag>
	</scm>

	<properties>
		<license.header.fileLocation>LICENSE-TEMPLATE.txt</license.header.fileLocation>
	</properties>

	<modules>
		<module>jaguar2-build</module>
		<module>jaguar2-api</module>
		<module>jaguar2-core</module>
		<module>jaguar2-commons</module>
		<module>jaguar2-junit4</module>
		<module>jaguar2-providers</module>
		<module>jaguar2-exporters</module>
		<module>jaguar2-examples</module>
		<module>jaguar2-validations</module>
	</modules>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.4.1</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<configuration>
					<rules>
						<requireJavaVersion>
							<version>1.8</version>
						</requireJavaVersion>
					</rules>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>enforce</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>2.11</version>
				<configuration>
					<header>${license.header.fileLocation}</header>
					<headerSections>
						<headerSection>
							<key>CONTRIBUTORS_SECTION</key>
						</headerSection>
					</headerSections>
					<properties>
						<owner>${project.organization.name}</owner>
					</properties>
					<excludes>
						<exclude>LICENSE</exclude>
						<exclude>.github/**</exclude>
						<exclude>.mvn/**</exclude>
						<exclude>mvnw</exclude>
						<exclude>mvnw.cmd</exclude>
					</excludes>
					<aggregate>true</aggregate>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-maven-plugin</artifactId>
				<version>1.23</version>
				<configuration>
					<signature>
						<groupId>org.codehaus.mojo.signature</groupId>
						<artifactId>java16</artifactId>
						<version>1.0</version>
					</signature>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>jxr</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>3.13.0</version>
				<configuration>
					<verbose>true</verbose>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
							<goal>cpd-check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Release Plugins -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<dependencies>
					<dependency>
						<groupId>commons-lang</groupId>
						<artifactId>commons-lang</artifactId>
						<version>2.6</version>
					</dependency>
				</dependencies>
				<configuration>
					<quiet>true</quiet>
					<source>${maven.compiler.source}</source>
					<detectOfflineLinks>false</detectOfflineLinks>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.3.0</version>
				<executions>
					<execution>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
				<configuration>
					<useReleaseProfile>false</useReleaseProfile>
					<releaseProfiles>release</releaseProfiles>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<tagNameFormat>v@{project.version}</tagNameFormat>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<profiles>
		<profile>
			<id>html5-javadoc</id>
			<activation>
				<!-- This feature is only available for Java >= 9 -->
				<!-- HTML 5 is the default for Java >= 11 -->
				<jdk>[9,11)</jdk>
			</activation>
			<properties>
				<additionalJOption>-html5</additionalJOption>
			</properties>
		</profile>
	</profiles>

</project>
