<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.10.0-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>${maven.test.skip}</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>