<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>

	<artifactId>ui-ci</artifactId>
	<description>Selenium tests for the SDnC Application</description>

	<parent>
		<groupId>org.openecomp.sdc</groupId>
		<artifactId>sdc-main</artifactId>
		<version>1.3.3-SNAPSHOT</version>
	</parent>

	<properties>
		<sonar.skip>true</sonar.skip>
		<jacoco.skip>true</jacoco.skip>
		<aspectj.version>1.8.10</aspectj.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>${guava.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>

			<version>2.53.1</version>
			<exclusions>
				<exclusion>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>jetty-util</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-util</artifactId>
			<version>${jetty.version}</version>
		</dependency>

		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-server</artifactId>
			<version>2.53.1</version>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>commons-net</groupId>
			<artifactId>commons-net</artifactId>
			<version>3.3</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.openecomp.sdc</groupId>
			<artifactId>test-apis-ci</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.yaml</groupId>
			<artifactId>snakeyaml</artifactId>
			<version>${snakeyaml.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.functionaljava</groupId>
			<artifactId>functionaljava</artifactId>
			<version>${functionaljava.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>${gson.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- http client -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>${httpclient.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>${httpclient.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>${commons-logging}</version>
			<scope>compile</scope>
		</dependency>

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

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>${logback.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- http core -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>${httpcore.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- TITAN -->
		<dependency>
			<groupId>com.thinkaurelius.titan</groupId>
			<artifactId>titan-core</artifactId>
			<version>${titan.version}</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-collections</artifactId>
					<groupId>commons-collections</groupId>
				</exclusion>
				<exclusion>
					<artifactId>groovy</artifactId>
					<groupId>org.codehaus.groovy</groupId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.onap.sdc.sdc-titan-cassandra</groupId>
			<artifactId>sdc-titan-cassandra</artifactId>
			<version>${sdc.titan.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.2</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
			<artifactId>sdc-distribution-client</artifactId>
			<version>1.2.3</version>
			<scope>compile</scope>
		</dependency>

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

		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.11</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>${json-simple.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-jci-core</artifactId>
			<version>${commons-jci-core.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>${commons-codec}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.aventstack</groupId>
			<artifactId>extentreports</artifactId>
			<version>3.0.6</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>net.lightbody.bmp</groupId>
			<!-- To use the legacy, Jetty-based implementation, change the artifactId
				to browsermob-core -->
			<artifactId>browsermob-core</artifactId>
			<version>2.1.4</version>
		</dependency>

		<dependency>
			<groupId>com.github.markusbernhardt</groupId>
			<artifactId>proxy-vole</artifactId>
			<version>1.0.2</version>
		</dependency>

		<dependency>
			<groupId>com.paulhammant</groupId>
			<artifactId>ngwebdriver</artifactId>
			<version>0.9.7</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>4.1.0</version>
		</dependency>

		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy</artifactId>
		</dependency>

		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-handler</artifactId>
		</dependency>

	</dependencies>

	<build>

		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<executions>
					<execution>
						<id>clean.tosca.chef.os.folder</id>
						<phase>clean</phase>
						<goals>
							<goal>clean</goal>
						</goals>
						<configuration>
							<filesets>

								<!-- Sanity jar -->
								<fileset>
									<directory>${project.basedir}/sdc-ui-tests</directory>
									<followSymlinks>false</followSymlinks>
									<includes>
										<include>*.jar</include>
									</includes>
								</fileset>
								<!-- Sanity test suites -->
								<fileset>
									<directory>${project.basedir}/sdc-ui-tests/chef-repo/cookbooks/sdc-ui-tests/files/default/testSuites</directory>
									<followSymlinks>false</followSymlinks>
								</fileset>
								<!-- VNF files -->
								<fileset>
									<directory>${project.basedir}/sdc-ui-tests/chef-repo/cookbooks/sdc-ui-tests/files/default/Files/VNFs</directory>
									<followSymlinks>false</followSymlinks>
								</fileset>
							</filesets>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>create.jar.with.dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<archive>
								<manifest>
									<mainClass>org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest</mainClass>
								</manifest>
							</archive>
							<descriptorRefs>
								<descriptorRef>jar-with-dependencies</descriptorRef>
							</descriptorRefs>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.github.sylvainlaurent.maven</groupId>
				<artifactId>yaml-json-validator-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>validate</id>
						<phase>validate</phase>
						<goals>
							<goal>validate</goal>
						</goals>
						<configuration>
							<validationSets>
								<validationSet>
									<includes>
										<include>src/main/resources/**/*.y*ml</include>
										<include>src/test/resources/**/*.y*ml</include>
									</includes>
								</validationSet>
								<validationSet>
									<includes>
										<include>src/main/resources/**/*.json</include>
										<include>src/test/resources/**/*.json</include>
									</includes>
								</validationSet>
							</validationSets>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>docker</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>copy-tests-suites</id>
								<phase>verify</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<outputDirectory>sdc-ui-tests/chef-repo/cookbooks/sdc-ui-tests/files/default/testSuites</outputDirectory>
									<resources>
										<resource>
											<directory>${project.parent.basedir}/ui-ci/src/main/resources/ci/testSuites</directory>
											<includes>
												<include>*</include>
											</includes>
										</resource>
									</resources>
								</configuration>
							</execution>

							<execution>
								<id>copy-csar-files</id>
								<phase>verify</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<outputDirectory>sdc-ui-tests/chef-repo/cookbooks/sdc-ui-tests/files/default/Files/VNFs</outputDirectory>
									<resources>
										<resource>
											<directory>${project.parent.basedir}/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/VNFs</directory>
											<includes>
												<include>*</include>
											</includes>
										</resource>
									</resources>
								</configuration>
							</execution>

							<execution>
								<id>copy-resources-ui-ci</id>
								<phase>verify</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<outputDirectory>${basedir}/sdc-ui-tests</outputDirectory>
									<resources>
										<resource>
											<directory>${project.parent.basedir}/ui-ci/target</directory>
											<includes>
												<include>ui-ci-${project.version}-jar-with-dependencies.jar</include>
											</includes>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>io.fabric8</groupId>
						<artifactId>docker-maven-plugin</artifactId>
						<configuration>
							<apiVersion>1.23</apiVersion>
							<registry>nexus3.onap.org:10001</registry>
							<authConfig>
								<pull>
									<username>docker</username>
									<password>docker</password>
								</pull>
							</authConfig>
							<images>

								<!-- Build sanity image -->
								<image>
									<name>onap/sdc-ui-tests</name>
									<alias>sdc-ui-sanity</alias>
									<build>
										<cleanup>try</cleanup>
										<dockerFileDir>${project.basedir}/sdc-ui-tests</dockerFileDir>
										<tags>
											<tag>${docker.tag}</tag>
											<tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag>
										</tags>
									</build>
								</image>

							</images>
						</configuration>
						<executions>
							<execution>
								<id>clean-images</id>
								<phase>pre-clean</phase>
								<goals>
									<goal>remove</goal>
								</goals>
								<configuration>
									<removeAll>true</removeAll>
									<image>onap/sdc-ui-tests</image>
								</configuration>
							</execution>

							<execution>
								<id>generate-images</id>
								<phase>install</phase>
								<goals>
									<goal>build</goal>
								</goals>
							</execution>

							<execution>
								<id>push-images</id>
								<phase>deploy</phase>
								<goals>
									<goal>push</goal>
								</goals>
								<configuration>
									<image>onap/sdc-ui-tests</image>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>