<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>onboarding-fe</artifactId>
  <name>onboarding-ui-war</name>
  <packaging>war</packaging>

  <parent>
    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-onboarding</artifactId>
    <version>1.9.1-SNAPSHOT</version>
    <relativePath>../onboarding</relativePath>
  </parent>

  <properties>
    <app.context.path>onboarding</app.context.path>
    <jest.command/>
  </properties>

  <!-- ============================================= -->
  <!-- Profile for windows to run jest one by the other due to current defect in node-graceful-js creating race condition -->
  <!-- https://github.com/isaacs/node-graceful-fs/pull/119 -->
  <!-- ============================================= -->
  <profiles>
    <profile>
      <id>jest-windows-profile</id>
      <activation>
        <os>
          <family>windows</family>
        </os>
      </activation>
      <properties>
        <jest.command>--runInBand</jest.command>
      </properties>
    </profile>
  </profiles>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <executions>
          <execution>
            <id>clean.dist.folder</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${basedir}/dist</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/coverage</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/../dox-sequence-diagram-ui/dist</directory>
                </fileset>
              </filesets>
            </configuration>
          </execution>
          <execution>
            <id>clean.nodemodules.folder</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <skip>${skipUICleanup}</skip>
              <filesets>
                <fileset>
                  <directory>${basedir}/node_modules</directory>
                </fileset>
                <fileset>
                  <directory>${basedir}/../dox-sequence-diagram-ui/node_modules
                  </directory>
                </fileset>
              </filesets>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- ============================================= -->
      <!-- Build the UI module node code -->
      <!-- ============================================= -->
      <plugin>
        <groupId>com.github.eirslett</groupId>
        <artifactId>frontend-maven-plugin</artifactId>
        <configuration>
          <installDirectory>${project.parent.parent.basedir}</installDirectory>
        </configuration>

        <executions>

          <execution>
            <id>install node and yarn</id>
            <goals>
              <goal>install-node-and-yarn</goal>
            </goals>
            <configuration>
              <nodeVersion>v10.17.0</nodeVersion>
              <yarnVersion>v1.19.1</yarnVersion>
            </configuration>
          </execution>

          <execution>
            <id>yarn install in dox-sequence-diagram-ui</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui</workingDirectory>
              <arguments>install</arguments>
            </configuration>
          </execution>
          <execution>
            <id>yarn build in dox-sequence-diagram-ui</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui</workingDirectory>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>build</arguments>
            </configuration>
          </execution>

          <execution>
            <id>yarn install</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <arguments>install</arguments>
            </configuration>
          </execution>

          <execution>
            <id>yarn build</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>build --version=${project.version} --env.version=${project.version} --env.language=en</arguments>
            </configuration>
          </execution>
          <execution>
            <id>ui test</id>
            <goals>
              <goal>yarn</goal>
            </goals>
            <configuration>
              <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
              <arguments>test-build ${jest.command}</arguments>
              <skip>${skipTests}</skip>
            </configuration>
            <!-- for some reason does not fail on test phase -->
            <phase>test</phase>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webResources>
            <resource>
              <directory>${basedir}/dist</directory>
              <includes>
                <include>*.html</include>
                <include>*.js</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/src</directory>
              <includes>
                <include>**/*.json</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/external-resources/healthcheck/</directory>
              <targetPath>v1.0</targetPath>
              <filtering>true</filtering>
              <includes>
                <include>healthcheck</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/webapp-onboarding</directory>
              <filtering>true</filtering>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
