<properties>
<maven.war.plugin.version>3.0.0</maven.war.plugin.version>
+ <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>
<fileset>
<directory>${basedir}/dist</directory>
</fileset>
- <!--<fileset>-->
- <!--<directory>${basedir}/node_modules</directory>-->
- <!--</fileset>-->
+ <fileset>
+ <directory>${basedir}/node_modules</directory>
+ </fileset>
+ <fileset>
+ <directory>${basedir}/coverage</directory>
+ </fileset>
<fileset>
<directory>${basedir}/../dox-sequence-diagram-ui/dist
</directory>
</fileset>
- <!--<fileset>-->
- <!--<directory>${basedir}/../dox-sequence-diagram-ui/node_modules-->
- <!--</directory>-->
- <!--</fileset>-->
+ <fileset>
+ <directory>${basedir}/../dox-sequence-diagram-ui/node_modules
+ </directory>
+ </fileset>
</filesets>
</configuration>
</execution>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
- <version>1.4</version>
+ <version>1.6</version>
<configuration>
<installDirectory>${project.parent.parent.basedir}</installDirectory>
<executions>
<execution>
- <id>install node and npm</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <configuration>
- <nodeVersion>v6.9.5</nodeVersion>
- <npmVersion>3.10.10</npmVersion>
- </configuration>
- </execution>
-
- <execution>
- <id>npm set progress off</id>
+ <id>install node and yarn</id>
<goals>
- <goal>npm</goal>
+ <goal>install-node-and-yarn</goal>
</goals>
<configuration>
- <arguments>set progress=false</arguments>
+ <nodeVersion>v9.4.0</nodeVersion>
+ <yarnVersion>v1.3.2</yarnVersion>
</configuration>
</execution>
<execution>
- <id>npm install in dox-sequence-diagram-ui</id>
+ <id>yarn install in dox-sequence-diagram-ui</id>
<goals>
- <goal>npm</goal>
+ <goal>yarn</goal>
</goals>
<configuration>
<workingDirectory>${project.basedir}/../dox-sequence-diagram-ui
<arguments>install</arguments>
</configuration>
</execution>
-
- <!-- Fix jQuery dependency in restful-js -->
<execution>
- <id>npm restful-js</id>
+ <id>yarn build in dox-sequence-diagram-ui</id>
<goals>
- <goal>npm</goal>
+ <goal>yarn</goal>
</goals>
<configuration>
- <arguments>install restful-js</arguments>
+ <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui
+ </workingDirectory>
+ <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
+ <arguments>run build</arguments>
</configuration>
</execution>
+
<execution>
- <id>npm install restful-js dependencies</id>
+ <id>yarn install</id>
<goals>
- <goal>npm</goal>
+ <goal>yarn</goal>
</goals>
<configuration>
- <workingDirectory>${project.basedir}/node_modules/restful-js
- </workingDirectory>
- <arguments>install --production</arguments>
+ <arguments>install</arguments>
</configuration>
</execution>
<execution>
- <id>npm install</id>
+ <id>yarn run build</id>
<goals>
- <goal>npm</goal>
+ <goal>yarn</goal>
</goals>
<configuration>
- <arguments>install</arguments>
+ <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
+ <arguments>run build --version=${project.version}</arguments>
</configuration>
</execution>
-
<execution>
- <id>npm run build</id>
+ <id>ui test</id>
<goals>
- <goal>npm</goal>
+ <goal>yarn</goal>
</goals>
<configuration>
- <arguments>run build -- --version=${project.version}</arguments>
+ <yarnInheritsProxyConfigFromMaven>false</yarnInheritsProxyConfigFromMaven>
+ <arguments>run test-build ${jest.command}</arguments>
</configuration>
+ <!-- for some reason does not fail on test phase -->
+ <phase>install</phase>
</execution>
</executions>
</plugin>