Update Release Note
[sdc.git] / openecomp-ui / pom.xml
index 400ad9a..cf4b02d 100644 (file)
-<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>
-       <packaging>pom</packaging>
+    <parent>
+        <groupId>org.openecomp.sdc</groupId>
+        <artifactId>sdc-onboarding</artifactId>
+        <version>1.5.3-SNAPSHOT</version>
+        <relativePath>../onboarding</relativePath>
+    </parent>
 
-       <properties>
-               <sonar.skip>true</sonar.skip>
-       </properties>
+    <properties>
+        <maven.war.plugin.version>3.0.0</maven.war.plugin.version>
+        <app.context.path>onboarding</app.context.path>
+        <jest.command />
+    </properties>
 
-       <build>
-               <plugins>
+    <!-- ============================================= -->
+    <!-- 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>
 
+            <!-- ============================================= -->
+            <!-- Build the UI module node code -->
+            <!-- ============================================= -->
+            <plugin>
+                <groupId>com.github.eirslett</groupId>
+                <artifactId>frontend-maven-plugin</artifactId>
+                <version>1.6</version>
 
-                       <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>
-                                       <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>
+                <configuration>
+                    <installDirectory>${project.parent.parent.basedir}</installDirectory>
+                </configuration>
 
-                       <plugin>
-        <groupId>com.coderplus.maven.plugins</groupId>
-        <artifactId>copy-rename-maven-plugin</artifactId>
-        <version>1.0</version>
-        <executions>
-          <execution>
-            <id>copy-file</id>
-            <phase>compile</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <configuration>
-              <sourceFile>${project.basedir}/dist/onboarding.war</sourceFile>
-              <destinationFile>${project.basedir}/target/onboarding-fe-${project.version}.war</destinationFile>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
+                <executions>
 
-      <plugin>
-       <groupId>org.codehaus.mojo</groupId>
-       <artifactId>build-helper-maven-plugin</artifactId>
-       <version>1.7</version>
-       <executions>
-               <execution>
-                       <id>attach-artifacts</id>
-                       <phase>compile</phase>
-                       <goals>
-                               <goal>attach-artifact</goal>
-                       </goals>
-                       <configuration>
-                               <artifacts>
-                                       <artifact>
-                                               <file>${project.basedir}/target/onboarding-fe-${project.version}.war</file>
-                                               <type>war</type>                           
-                                       </artifact>
-                               </artifacts>
-                       </configuration>
-               </execution>
-       </executions>
-      </plugin>
+                    <execution>
+                        <id>install node and yarn</id>
+                        <goals>
+                            <goal>install-node-and-yarn</goal>
+                        </goals>
+                        <configuration>
+                            <nodeVersion>v9.4.0</nodeVersion>
+                            <yarnVersion>v1.7.0</yarnVersion>
+                        </configuration>
+                    </execution>
 
-<!--                   <plugin>
-                               <artifactId>maven-war-plugin</artifactId>
-                               <configuration>
-                                       <webXml>webapp-onboarding\WEB-INF\web.xml</webXml>
-                               </configuration>
-                       </plugin> -->
-               </plugins>
-       </build>
+                    <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>