<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.7.0-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>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty</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>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>org.openecomp.sdc</groupId>
      <artifactId>test-apis-ci</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </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>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </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>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
      <version>${hamcrest.version}</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>${hamcrest.version}</version>
      <scope>compile</scope>
    </dependency>

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

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

    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>${testng.version}</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>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </exclusion>
      </exclusions>
    </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>
                <!-- Package files -->
                <fileset>
                  <directory>
                    ${project.basedir}/sdc-ui-tests/chef-repo/cookbooks/sdc-ui-tests/files/default/Files
                  </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>
              <skip>${skipYamlJsonValidator}</skip>
            </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
                  </outputDirectory>
                  <resources>
                    <resource>
                      <directory>
                        ${project.parent.basedir}/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files
                      </directory>
                      <filtering>false</filtering>
                      <includes>
                        <include>VNFs/*</include>
                        <include>PNFs/*</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>
