-<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>
+<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>
- <parent>
- <groupId>org.openecomp.sdc</groupId>
- <artifactId>sdc-main</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
+ <artifactId>onboarding-fe</artifactId>
+ <name>onboarding-ui-war</name>
+ <packaging>war</packaging>
- <groupId>org.openecomp.sdc.onboarding</groupId>
- <artifactId>onboarding-fe</artifactId>
- <name>onboarding-ui-war</name>
+ <parent>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>sdc-onboarding</artifactId>
+ <version>1.6.5-SNAPSHOT</version>
+ <relativePath>../onboarding</relativePath>
+ </parent>
- <packaging>war</packaging>
- <repositories>
- <repository>
- <id>node</id>
- <name>Node</name>
- <url>https://maven-nodejs-proxy.pvtool.org/</url>
- </repository>
- </repositories>
- <build>
- <plugins>
+ <properties>
+ <maven.war.plugin.version>3.0.0</maven.war.plugin.version>
+ <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>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.6.1</version>
+ <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>
- <plugin>
- <groupId>io.wcm.maven.plugins</groupId>
- <artifactId>nodejs-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <npmVersion>4.3.0</npmVersion>
- <nodeJsVersion>7.5.0</nodeJsVersion>
- <nodeJsDirectory>/tmp/nodejs</nodeJsDirectory>
- <tasks>
- <npmInstallTask>
- <workingDirectory>${session.executionRootDirectory}/dox-sequence-diagram-ui</workingDirectory>
- </npmInstallTask>
- <nodeJsTask>
- <workingDirectory>${session.executionRootDirectory}/dox-sequence-diagram-ui</workingDirectory>
- <moduleName>webpack</moduleName>
- </nodeJsTask>
- <npmInstallTask>
- <workingDirectory>${project.basedir}</workingDirectory>
- </npmInstallTask>
- <nodeJsTask>
- <workingDirectory>${project.basedir}</workingDirectory>
- <moduleName>gulp</moduleName>
- <arguments>
- <argument>build</argument>
- </arguments>
- </nodeJsTask>
- </tasks>
- </configuration>
- </plugin>
+ <!-- ============================================= -->
+ <!-- Build the UI module node code -->
+ <!-- ============================================= -->
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
- <plugin>
- <artifactId>maven-war-plugin</artifactId>
- <configuration>
- <webXml>webapp-onboarding\WEB-INF\web.xml</webXml>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <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>
+ <version>${maven.war.plugin.version}</version>
+ <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>