Fix Sonar coverage
[clamp.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 68b80ab..e98ff5e 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
                <modelVersion>4.0.0</modelVersion>
                <groupId>org.onap.clamp</groupId>
                <artifactId>clds</artifactId>
-               <version>3.0.0-SNAPSHOT</version>
+               <version>3.0.3-SNAPSHOT</version>
                <name>clamp</name>
 
                <parent>
 
                                <eelf.core.version>1.0.0</eelf.core.version>
                                <camel.version>2.22.0</camel.version>
-                               <springboot.version>2.0.3.RELEASE</springboot.version>
-
-                               <sonar.language>java</sonar.language>
+                               <springboot.version>2.0.6.RELEASE</springboot.version>
+                               
                                <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
                                <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
                                <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
                                <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
                                <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
                                <sonar.projectVersion>${project.version}</sonar.projectVersion>
+                               <!-- Enable language to disable javascript analysis -->
+                               <sonar.language>java</sonar.language>
+                               <!-- Parameters for Javascript coverage 
+                                       <sonar.sources>src/main,${project.build.directory}/clamp-ui/designer</sonar.sources>
+                                       <sonar.javascript.lcov.reportPaths>${project.build.directory}/clamp-ui/coverage/lcov.info</sonar.javascript.lcov.reportPaths>
+                                -->
+                               <sonar.exclusions>src/main/resources/**,**/clamp-ui/designer/lib/*</sonar.exclusions>
 
                                <docker.push.registry>localhost:5000</docker.push.registry>
                                <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
@@ -84,7 +90,7 @@
                                <docker.skip.tag>true</docker.skip.tag>
                                <skip.staging.artifacts>false</skip.staging.artifacts>
                                <python.http.proxy.param/>
-                               <tomcat.version>8.5.32</tomcat.version>
+                               <tomcat.version>8.5.34</tomcat.version>
                </properties>
 
                <profiles>
 
                <distributionManagement>
                                <repository>
-                                               <id>ecomp-releases</id>
+                                               <id>onap-releases</id>
                                                <name>Clamp Release Repository</name>
                                                <url>https://nexus.onap.org/content/repositories/releases/</url>
                                </repository>
                                <snapshotRepository>
-                                               <id>ecomp-snapshots</id>
+                                               <id>onap-snapshots</id>
                                                <name>Clamp Snapshot Repository</name>
                                                <url>https://nexus.onap.org/content/repositories/snapshots/</url>
                                </snapshotRepository>
                                <site>
-                                               <id>ecomp-site</id>
+                                               <id>onap-site</id>
                                                <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
                                </site>
                </distributionManagement>
                                                <url>http://repo2.maven.org/maven2/</url>
                                </repository>
                                <repository>
-                                               <id>ecomp-releases</id>
+                                               <id>onap-releases</id>
                                                <name>ONAP Release Repository</name>
                                                <url>https://nexus.onap.org/content/repositories/releases/</url>
                                </repository>
                                <repository>
-                                               <id>ecomp-staging</id>
+                                               <id>onap-staging</id>
                                                <name>ONAP Staging Repository</name>
                                                <url>https://nexus.onap.org/content/repositories/staging/</url>
                                </repository>
                                <repository>
-                                               <id>ecomp-snapshots</id>
+                                               <id>onap-snapshots</id>
                                                <name>ONAP Snapshot Repository</name>
                                                <url>https://nexus.onap.org/content/repositories/snapshots/</url>
                                                <snapshots>
                                <dependency>
                                                <groupId>org.onap.policy.engine</groupId>
                                                <artifactId>PolicyEngineAPI</artifactId>
-                                               <version>1.2.3</version>
+                                               <version>1.3.1</version>
                                                <exclusions>
                                                                <exclusion>
                                                                                <groupId>com.google.guava</groupId>
                                                                                <groupId>javax.jms</groupId>
                                                                                <artifactId>jms</artifactId>
                                                                </exclusion>
+                                                               <exclusion>
+                                                                               <groupId>commons-fileupload</groupId>
+                                                                               <artifactId>commons-fileupload</artifactId>
+                                                               </exclusion>
+                                                               <exclusion>
+                                                                               <groupId>com.att.research.xacml</groupId>
+                                                                               <artifactId>xacml</artifactId>
+                                                               </exclusion>
                                                </exclusions>
                                </dependency>
                                <dependency>
                                                <artifactId>plexus-utils</artifactId>
                                                <version>3.0.24</version>
                                </dependency>
-                               <dependency>
-                                               <groupId>commons-fileupload</groupId>
-                                               <artifactId>commons-fileupload</artifactId>
-                                               <version>1.3.3</version>
-                               </dependency>
                                <dependency>
                                                <groupId>org.jboss.spec.javax.ws.rs</groupId>
                                                <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
                                <dependency>
                                                <groupId>com.google.guava</groupId>
                                                <artifactId>guava</artifactId>
-
                                </dependency>
                                <!-- Remove the MYSQL connector and replace it by Mariadb -->
                                <dependency>
                                                                <filtering>false</filtering>
                                                                <targetPath>example/sdc</targetPath>
                                                </testResource>
+
+                                               <!-- Copy the NPM package.json for CLAMP UI javascript testing framework -->
+                                               <testResource>
+                                                               <directory>src/test/javascript</directory>
+                                                               <includes>
+                                                                               <include>**/**.json</include>
+                                                               </includes>
+                                                               <filtering>true</filtering>
+                                                               <targetPath>${project.build.directory}/clamp-ui</targetPath>
+                                               </testResource>
+                                               <testResource>
+                                                               <directory>src/main/resources/META-INF/resources/designer</directory>
+                                                               <filtering>false</filtering>
+                                                               <targetPath>${project.build.directory}/clamp-ui/designer</targetPath>
+                                               </testResource>
                                </testResources>
                                <resources>
                                                <!--  For AAF folder maven should not try to filter Keystores/Truststores ... 
                                                <plugin>
                                                                <groupId>org.apache.maven.plugins</groupId>
                                                                <artifactId>maven-surefire-plugin</artifactId>
-                                                               <version>2.19.1</version>
+                                                               <version>2.22.1</version>
                                                                <configuration>
                                                                                <forkCount>1</forkCount>
-                                                                               <reuseForks>false</reuseForks>
+                                                                               <reuseForks>true</reuseForks>
+                                                                               <useSystemClassLoader>false</useSystemClassLoader>
                                                                </configuration>
                                                </plugin>
 
                                                <plugin>
                                                                <groupId>org.apache.maven.plugins</groupId>
                                                                <artifactId>maven-failsafe-plugin</artifactId>
-                                                               <version>2.17</version>
-
+                                                               <version>2.22.1</version>
                                                                <executions>
                                                                                <execution>
                                                                                                <id>integration-tests</id>
                                                                                                                <goal>verify</goal>
                                                                                                </goals>
                                                                                                <configuration>
+                                                                                                               <additionalClasspathElements>
+                                                                                                                       <additionalClasspathElement>${project.build.directory}/classes</additionalClasspathElement>
+                                                                                                               </additionalClasspathElements>
                                                                                                                <includes>
                                                                                                                                <include>**/*ItCase.java</include>
                                                                                                                </includes>
                                                                                                                <forkCount>1</forkCount>
                                                                                                                <reuseForks>false</reuseForks>
+                                                                                                               <useSystemClassLoader>false</useSystemClassLoader>
                                                                                                </configuration>
                                                                                </execution>
                                                                </executions>
                                                                                                                                </assembly>
                                                                                                                </build>
                                                                                                </image>
+                                                                                               <image>
+                                                                                                               <name>onap/clamp-dashboard-logstash</name>
+                                                                                                               <alias>onap-clamp-dashboard-logstash</alias>
+                                                                                                               <run>
+                                                                                                                       <skip>true</skip>
+                                                                                                               </run>
+                                                                                                               <build>
+                                                                                                                               <cleanup>true</cleanup>
+                                                                                                                               <tags>
+                                                                                                                                               <tag>latest</tag>
+                                                                                                                                               <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                                                                                                                               <tag>${project.docker.latesttag.version}</tag>
+                                                                                                                               </tags>
+                                                                                                                               <dockerFile>logstash/Dockerfile.logstash</dockerFile>
+                                                                                                               </build>
+                                                                                               </image>
+                                                                                               <image>
+                                                                                                               <name>onap/clamp-dashboard-kibana</name>
+                                                                                                               <alias>onap-clamp-dashboard-kibana</alias>
+                                                                                                               <run>
+                                                                                                                       <skip>true</skip>
+                                                                                                               </run>
+                                                                                                               <build>
+                                                                                                                               <cleanup>true</cleanup>
+                                                                                                                               <tags>
+                                                                                                                                               <tag>latest</tag>
+                                                                                                                                               <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                                                                                                                               <tag>${project.docker.latesttag.version}</tag>
+                                                                                                                               </tags>
+                                                                                                                               <dockerFile>kibana/Dockerfile.kibana</dockerFile>
+                                                                                                               </build>
+                                                                                               </image>
                                                                                </images>
                                                                </configuration>
 
                                                <plugin>
                                                                <groupId>org.jacoco</groupId>
                                                                <artifactId>jacoco-maven-plugin</artifactId>
-                                                               <version>0.7.7.201606060606</version>
+                                                               <version>0.8.2</version>
                                                                <configuration>
                                                                                <dumpOnExit>true</dumpOnExit>
                                                                                <includes>
                                                                                                <include>org.onap.clamp.*</include>
                                                                                </includes>
+                                                                               <propertyName>surefireArgLine</propertyName>
                                                                </configuration>
                                                                <executions>
                                                                                <execution>
                                                                <artifactId>versions-maven-plugin</artifactId>
                                                                <version>1.3.1</version>
                                                </plugin>
+
+                                       <plugin>
+                                               <groupId>com.github.eirslett</groupId>
+                                               <artifactId>frontend-maven-plugin</artifactId>
+                                               <version>1.6</version>
+                                               <configuration>
+                                                       <installDirectory>${project.build.directory}/clamp-ui</installDirectory>
+                                                       <workingDirectory>${project.build.directory}/clamp-ui</workingDirectory>
+                                                       <skip>${maven.test.skip}</skip>
+                                               </configuration>
+
+                                               <executions>
+                                                       <execution>
+                                                               <id>install_node_and_npm</id>
+                                                               <goals>
+                                                                       <goal>install-node-and-npm</goal>
+                                                               </goals>
+                                                               <phase>test</phase>
+                                                               <configuration>
+                                                                       <nodeVersion>v8.11.1</nodeVersion>
+                                                                       <npmVersion>5.6.0</npmVersion>
+                                                               </configuration>
+                                                       </execution>
+                                                       <execution>
+                                                               <id>npm_install</id>
+                                                               <goals>
+                                                                       <goal>npm</goal>
+                                                               </goals>
+                                                               <phase>test</phase>
+                                                               <configuration>
+                                                                       <arguments>install</arguments>
+                                                               </configuration>
+                                                       </execution>
+                                                       <execution>
+                                                               <id>npm_test</id>
+                                                               <goals>
+                                                                       <goal>npm</goal>
+                                                               </goals>
+                                                               <phase>test</phase>
+                                                               <configuration>
+                                                                       <arguments>run-script test:coverage</arguments>
+                                                               </configuration>
+                                                       </execution>
+
+                                               </executions>
+                                       </plugin>
                                </plugins>
                </build>
 </project>