<?xml version="1.0" encoding="UTF-8"?>
<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>


	<groupId>io.aubay.fase</groupId>
	<artifactId>parent</artifactId>
	<version>0.3.7</version>
	<packaging>pom</packaging>


	<name>FASE Parent project</name>
	<description>FASE Parent project</description>
	<url>https://www.aubay.com/fase-project</url>
	<inceptionYear>2018</inceptionYear>

	<licenses>
		<license>
			<name>GNU General Public License (GPL) version 3.0</name>
			<url>https://www.gnu.org/licenses/gpl-3.0.fr.html</url>
			<distribution>manual</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Henry Allada</name>
			<email>hallada@aubay.com</email>
			<organization>Aubay</organization>
			<organizationUrl>http://www.aubay.com</organizationUrl>
		</developer>
		<developer>
			<name>Marc Etienne</name>
			<email>metienne@aubay.com</email>
			<organization>Aubay</organization>
			<organizationUrl>http://www.aubay.com</organizationUrl>
		</developer>
		<developer>
			<name>Erwan Legeleux</name>
			<email>elegeleux@aubay.com</email>
			<organization>Aubay</organization>
			<organizationUrl>http://www.aubay.com</organizationUrl>
		</developer>
		<developer>
			<name>Romain Ducassé</name>
			<email>rducasse@aubay.com</email>
			<organization>Aubay</organization>
			<organizationUrl>http://www.aubay.com</organizationUrl>
		</developer>
	</developers>

	<organization>
		<name>Aubay</name>
		<url>https://www.aubay.com</url>
	</organization>


	<modules>
		<module>core</module>
		<module>modules</module>
		<module>fase-maven-plugin</module>
	</modules>


	<scm>
		<connection>scm:git:https://gitlab.aubay.io/development/fase/fase.git</connection>
		<developerConnection>scm:git:https://gitlab.aubay.io/development/fase/fase.git</developerConnection>
		<tag>fase-0.3.7</tag>
		<url>https://gitlab.aubay.io/development/fase/fase/</url>
	</scm>

	<distributionManagement>
		<repository>
			<id>oss-sonatype-release</id>
			<name>Maven Central OSS Sonatype Release</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>oss-sonatype-snapshot</id>
			<name>Maven Central OSS Sonatype Snapshot</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

	<properties>
	
		<!-- PROJECT -->
		<project.java.version>8</project.java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


		<!-- SONARQUBE -->
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.language>java</sonar.language>

		<!-- DEPENDENCIES -->

		<selenium.version>3.141.59</selenium.version>
		<commons-io.version>2.4</commons-io.version>
		<junit.version>4.12</junit.version>
		<junit5.version>5.5.1</junit5.version>
		<org.json.version>20171018</org.json.version>
		<com.opencsv.version>4.6</com.opencsv.version>
		<joda-time.version>2.9.7</joda-time.version>
		<poi.version>3.17</poi.version>
		<pdfbox.version>2.0.16</pdfbox.version>
		<ini4j.version>0.5.4</ini4j.version>
		<jcraft.version>0.1.54</jcraft.version>
		<cucumber.version>4.7.0</cucumber.version>
		<json-simple.version>1.1.1</json-simple.version>


		<log4j2.version>2.8.2</log4j2.version>
		<snakeyaml.version>1.24</snakeyaml.version>
		<dbunit.version>2.4.8</dbunit.version>
		<mysql.version>5.1.6</mysql.version>
		<slf4j.version>1.7.25</slf4j.version>

		<browserstack.version>0.7.1</browserstack.version>
		<aspectj.version>1.5.4</aspectj.version>
		<cobertura.version>2.1.1</cobertura.version>
		<gherkin.version>5.1.0</gherkin.version>
		<cucumber-jvm-deps.version>1.0.6</cucumber-jvm-deps.version>
		<assertj.version>3.12.2</assertj.version>
		<commons-configuration2.version>2.4</commons-configuration2.version>




		<!-- PLUGINS -->
		<failsafe.version>2.22.2</failsafe.version>
		<surefire.version>2.22.2</surefire.version>
		<jacoco.version>0.8.4</jacoco.version>
		<browserstack-plugin.version>0.7.1</browserstack-plugin.version>
		<compiler.version>3.8.1</compiler.version>
		<resources.version>2.6</resources.version>
		<exec.version>1.2.1</exec.version>
		<maven.dependency.plugin.version>2.1</maven.dependency.plugin.version>
		<licence.version>1.20</licence.version>
		<maven.source.plugin.version>2.2.1</maven.source.plugin.version>
		<maven.release.plugin.version>2.5.3</maven.release.plugin.version>
		<maven.javadoc.plugin.version>3.1.0</maven.javadoc.plugin.version>
		<owasp.dependency-check.version>5.2.0</owasp.dependency-check.version>
		<maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
		<git.changelog.version>1.60</git.changelog.version>


		<!-- REPORTING -->
		<maven-project-info-reports-plugin.version>2.6</maven-project-info-reports-plugin.version>
		<maven-site-plugin.version>3.3</maven-site-plugin.version>

	</properties>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>${maven-project-info-reports-plugin.version}</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>${maven-site-plugin.version}</version>
				<configuration>
					<outputDirectory>${basedir}/target/surefire-reports</outputDirectory>
				</configuration>
			</plugin>
		</plugins>
	</reporting>


	<dependencyManagement>
		<dependencies>

			<!-- FOR CORE -->
			<dependency>
				<groupId>org.seleniumhq.selenium</groupId>
				<artifactId>selenium-java</artifactId>
				<version>${selenium.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.seleniumhq.selenium</groupId>
						<artifactId>selenium-opera-driver</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
			</dependency>

			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter-api</artifactId>
				<version>${junit5.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter</artifactId>
				<version>${junit5.version}</version>
				<scope>test</scope>
			</dependency>


			<dependency>
				<groupId>org.junit.vintage</groupId>
				<artifactId>junit-vintage-engine</artifactId>
				<version>${junit5.version}</version>
				<scope>test</scope>
			</dependency>


			<dependency>
				<groupId>org.json</groupId>
				<artifactId>json</artifactId>
				<version>${org.json.version}</version>
			</dependency>

			<dependency>
				<groupId>com.opencsv</groupId>
				<artifactId>opencsv</artifactId>
				<version>${com.opencsv.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.apache.commons</groupId>
						<artifactId>commons-text</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
				<version>${poi.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.pdfbox</groupId>
				<artifactId>pdfbox</artifactId>
				<version>${pdfbox.version}</version>
			</dependency>

			<dependency>
				<groupId>org.ini4j</groupId>
				<artifactId>ini4j</artifactId>
				<version>${ini4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-api</artifactId>
				<version>${log4j2.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>${log4j2.version}</version>
			</dependency>

			<dependency>
				<groupId>com.jcraft</groupId>
				<artifactId>jsch</artifactId>
				<version>${jcraft.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-configuration2</artifactId>
				<version>${commons-configuration2.version}</version>
			</dependency>

			<!-- FOR MODULES -->
			<dependency>
				<groupId>org.yaml</groupId>
				<artifactId>snakeyaml</artifactId>
				<version>${snakeyaml.version}</version>
			</dependency>



			<!-- FOR DEMO -->
			<dependency>
				<groupId>com.googlecode.json-simple</groupId>
				<artifactId>json-simple</artifactId>
				<version>${json-simple.version}</version>
			</dependency>


			<dependency>
				<groupId>org.dbunit</groupId>
				<artifactId>dbunit</artifactId>
				<version>${dbunit.version}</version>
			</dependency>

			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>



			<dependency>
				<groupId>com.browserstack</groupId>
				<artifactId>automate-testassist</artifactId>
				<version>${browserstack.version}</version>
			</dependency>

			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>${aspectj.version}</version>
			</dependency>

			<dependency>
				<groupId>net.sourceforge.cobertura</groupId>
				<artifactId>cobertura</artifactId>
				<version>${cobertura.version}</version>
				<exclusions>
					<exclusion>
						<groupId>com.sun</groupId>
						<artifactId>tools</artifactId>
					</exclusion>
				</exclusions>
			</dependency>


			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>cucumber-java8</artifactId>
				<version>${cucumber.version}</version>
			</dependency>

			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>cucumber-java</artifactId>
				<version>${cucumber.version}</version>
			</dependency>

			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>cucumber-spring</artifactId>
				<version>${cucumber.version}</version>
			</dependency>

			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>cucumber-junit</artifactId>
				<version>${cucumber.version}</version>
			</dependency>

			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>cucumber-jvm-deps</artifactId>
				<version>${cucumber-jvm-deps.version}</version>
			</dependency>

			<dependency>
				<groupId>io.cucumber</groupId>
				<artifactId>gherkin</artifactId>
				<version>${gherkin.version}</version>
			</dependency>


			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>${assertj.version}</version>
				<scope>test</scope>
			</dependency>


		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${failsafe.version}</version>
					<executions>
						<execution>
							<goals>
								<goal>integration-test</goal>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-report-plugin</artifactId>
					<version>${surefire.version}</version>
					<executions>
						<execution>
							<phase>test</phase>
							<goals>
								<goal>report-only</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${surefire.version}</version>
				</plugin>



				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco.version}</version>
					<configuration>
						<append>true</append>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
						</execution>
						<execution>
							<id>post-unit-test</id>
							<phase>test</phase>
							<goals>
								<goal>report</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>com.browserstack</groupId>
					<artifactId>automate-maven-plugin</artifactId>
					<version>${browserstack-plugin.version}</version>
					<configuration>
						<source>${jdk.source.version}</source>
						<target>${jdk.target.version}</target>
						<complianceLevel>${jdk.source.version}</complianceLevel>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>test-compile</goal>
							</goals>
						</execution>
					</executions>
				</plugin>



				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${resources.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>${exec.version}</version>
					<executions>
						<execution>
							<goals>
								<goal>java</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<mainClass>framework.squashLink.SquashLaucher</mainClass>
						<includePluginDependencies>true</includePluginDependencies>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<configuration>
						<archive>
							<manifest>
								<addClasspath>true</addClasspath>
								<classpathPrefix>lib/</classpathPrefix>
								<mainClass>framework.squashLink.SquashLaucher</mainClass>
							</manifest>
						</archive>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
					<configuration>
						<descriptorRefs>
							<descriptorRef>jar-with-dependencies</descriptorRef>
						</descriptorRefs>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>${maven.dependency.plugin.version}</version>
					<executions>
						<execution>
							<id>copy-dependencies</id>
							<goals>
								<goal>copy-dependencies</goal>
							</goals>
							<configuration>
								<outputDirectory>${project.build.directory}/lib</outputDirectory>
								<overWriteReleases>false</overWriteReleases>
								<overWriteSnapshots>false</overWriteSnapshots>
								<overWriteIfNewer>true</overWriteIfNewer>
							</configuration>
						</execution>
					</executions>
				</plugin>

			</plugins>
		</pluginManagement>


		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>${licence.version}</version>
				<configuration>
					<canUpdateDescription>true</canUpdateDescription>
				</configuration>
				<executions>
					<execution>
						<id>first</id>
						<goals>
							<goal>update-file-header</goal>
						</goals>
						<phase>process-sources</phase>
						<configuration>
							<licenseName>gpl_v3</licenseName>
							<roots>
								<root>src/main/java</root>
								<root>src/test</root>
							</roots>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven.source.plugin.version}</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>




			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<tagNameFormat>fase-@{project.version}</tagNameFormat>
					<arguments>-Dgpg.executable=${gpg.executable} -Dgpg.passphrase=${gpg.passphrase}</arguments>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<!-- Keep changes in the local repo, push will be done afterwards -->
					<pushChanges>false</pushChanges>
					<localCheckout>true</localCheckout>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>1.8.1</version>
					</dependency>
				</dependencies>
			</plugin>


		</plugins>

	</build>

	<profiles>

		<profile>
			<id>gpg-sign</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven.gpg.plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<gpgArguments>
								<gpgArgument>--pinentry-mode</gpgArgument>
								<gpgArgument>loopback</gpgArgument>
							</gpgArguments>
							<executable>${gpg.executable}</executable>
							<passphrase>${gpg.passphrase}</passphrase>
							<interactive>false</interactive>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		
		<profile>
			<id>dependency-check</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.owasp</groupId>
						<artifactId>dependency-check-maven</artifactId>
						<version>${owasp.dependency-check.version}</version>
						<configuration>
							<failBuildOnCVSS>11</failBuildOnCVSS>
							<cveValidForHours>1</cveValidForHours>
						</configuration>
						<executions>
							<execution>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>



		<profile>
			<id>sample-demo</id>
			<modules>
				<module>core</module>
				<module>modules</module>
				<module>sample-demo</module>
			</modules>
		</profile>

		<profile>
			<id>JDK8</id>
			<activation>
				<jdk>1.8</jdk>
			</activation>

			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-compiler-plugin</artifactId>
							<version>${compiler.version}</version>
							<configuration>
								<source>${project.java.version}</source>
								<target>${project.java.version}</target>
								<encoding>${project.build.sourceEncoding}</encoding>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven.javadoc.plugin.version}</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>


		<profile>
			<id>JDK9+</id>
			<activation>
				<jdk>[9,)</jdk>
			</activation>

			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-compiler-plugin</artifactId>
							<version>${compiler.version}</version>
							<configuration>
								<release>${project.java.version}</release>
								<testRelease>${project.java.version}</testRelease>
								<encoding>${project.build.sourceEncoding}</encoding>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven.javadoc.plugin.version}</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>purge-dependency-check-data-on-clean</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.owasp</groupId>
						<artifactId>dependency-check-maven</artifactId>
						<version>${owasp.dependency-check.version}</version>
						<executions>
							<execution>
								<id>purge-on-clean</id>
								<phase>clean</phase>
								<goals>
									<goal>purge</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>



	</profiles>


</project>