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

  <!-- This is the Maven project object model (POM) file for VID web application
      based on the ECOMP SDK distribution. This file stands alone; it does not
      inherit from a parent maven module. -->
  <groupId>org.onap.vid</groupId>
  <artifactId>vid-webpack-master</artifactId>
  <version>1.3.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>VID UI</name>
  <description>VID UI</description>

  <properties>
    <encoding>UTF-8</encoding>
    <!--<epsdk.version>1.3.0</epsdk.version>-->
    <!--<springframework.version>4.2.0.RELEASE</springframework.version>-->
    <!--<hibernate.version>4.3.11.Final</hibernate.version>-->
    <!--<jackson.version>2.6.3</jackson.version>-->
    <!-- Skip assembling the zip by default -->
    <skipassembly>true</skipassembly>
    <!-- Tests usually require some setup that maven cannot do, so skip. -->
    <skiptests>false</skiptests>
    <!-- this should be commented for local debugging -->
    <!-- <deployenv>local</deployenv> -->
    <nexusproxy>https://nexus.onap.org</nexusproxy>
    <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
    <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
    <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
  </properties>


  <repositories>
    <repository>
      <id>onap-staging</id>
      <name>ONAP - Staging Repository</name>
      <url>${nexusproxy}/${stagingNexusPath}</url>
    </repository>
    <repository>
      <id>ecomp-releases</id>
      <name>OpenECOMP - Release Repository</name>
      <url>${nexusproxy}/${releaseNexusPath}</url>
    </repository>
    <repository>
      <id>ecomp-snapshots</id>
      <name>OpenECOMP - Snapshot Repository</name>
      <url>${nexusproxy}/${snapshotNexusPath}</url>
    </repository>
    <repository>
      <id>ecomp-public</id>
      <name>ecomp onap public Repository</name>
      <url>https://nexus.onap.org/content/groups/public</url>
    </repository>
  </repositories>

  <distributionManagement>
				<repository>
					<id>ecomp-releases</id>
					<name>VID Release Repository</name>
					<url>${nexusproxy}/${releaseNexusPath}</url>
				</repository>
				<snapshotRepository>
					<id>ecomp-snapshots</id>
					<name>VID Snapshot Repository</name>
					<url>${nexusproxy}/${snapshotNexusPath}</url>
				</snapshotRepository>

  </distributionManagement>

  <profiles>
    <profile>
      <id>if-not-webpack</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
              <execution>
                <id>make-empty-dist</id>
                <phase>validate</phase>
                <configuration>
                  <target>
                    <mkdir dir="${project.basedir}/dist/" />
                    <echo file="${project.basedir}/dist/NO-WEBPACK.txt" append="false">
                      Note: 'webpack' profile was not selected while mvn build. This 'dist' folder was created to make the war creation through.
                    </echo>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    </profile>
    <profile>
      <id>webpack</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <!-- NB! Set <version> to the latest released version of frontend-maven-plugin, like in README.md -->
            <version>1.6</version>

            <executions>

              <execution>
                <id>install node and npm</id>
                <goals>
                  <goal>install-node-and-npm</goal>
                </goals>
                <configuration>
                  <!-- See https://nodejs.org/en/download/ for latest node and npm (lts) versions -->
                  <nodeVersion>v8.9.4</nodeVersion>
                  <npmVersion>5.6.0</npmVersion>
                </configuration>
              </execution>

              <execution>
                <id>npm set no-progress</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <configuration>
                  <arguments>set progress=false</arguments>
                </configuration>
              </execution>

              <execution>
                <id>npm install</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <!-- Optional configuration which provides for running any npm command -->
                <configuration>
                  <arguments>install</arguments>
                  <environmentVariables>
                    <CYPRESS_INSTALL_BINARY>0</CYPRESS_INSTALL_BINARY>
                  </environmentVariables>
                </configuration>
              </execution>

              <execution>
                <id>npm run test</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <configuration>
                  <arguments>run test</arguments>
                </configuration>
              </execution>

              <execution>
                <id>npm run build</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <configuration>
                  <arguments>run build</arguments>
                </configuration>
              </execution>

            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>cypress</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <!-- NB! Set <version> to the latest released version of frontend-maven-plugin, like in README.md -->
            <version>1.6</version>

            <executions>

              <execution>
                <id>install node and npm</id>
                <goals>
                  <goal>install-node-and-npm</goal>
                </goals>
                <configuration>
                  <!-- See https://nodejs.org/en/download/ for latest node and npm (lts) versions -->
                  <nodeVersion>v8.9.4</nodeVersion>
                  <npmVersion>5.6.0</npmVersion>
                </configuration>
              </execution>

              <execution>
                <id>npm install cypress</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <!-- Optional configuration which provides for running any npm command -->
                <configuration>
                  <arguments>install --verbose cypress @bahmutov/add-typescript-to-cypress</arguments>
                  <environmentVariables>
                    <NO_PROXY>.att.com</NO_PROXY>
                    <http_proxy>http://one.proxy.att.com:8080</http_proxy>
                    <https_proxy>http://one.proxy.att.com:8080</https_proxy>
                  </environmentVariables>
                </configuration>
              </execution>

              <execution>
                <id>npm run cypress</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <configuration>
                  <npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
                  <arguments>run cypress:run -- --config baseUrl=http://${VID_HOST}:8080/vid</arguments>
                </configuration>
              </execution>

            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <build>
    <finalName>vid-webpack-master</finalName>
    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>dist</directory>
              <targetPath>app/ui</targetPath>
            </resource>
          </webResources>
          <webXml>src/WEB-INF/web.xml</webXml>
        </configuration>
      </plugin>

    </plugins>


  </build>

  <dependencies>
  </dependencies>

</project>
