Merge "Sonar fix in ecomp-portal-BE-common"
[portal.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index cbe3fd0..3ea8ba4 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 <?xml version="1.0" encoding="UTF-8"?>
-<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">
+<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>
-       
-       <groupId>org.openecomp.portal</groupId>
-       <artifactId>ecompportal-parent-project</artifactId>
-       <version>0</version>
+
+       <parent>
+               <groupId>org.onap.oparent</groupId>
+               <artifactId>oparent</artifactId>
+               <version>1.2.0</version>
+               <relativePath />
+       </parent>
+
+       <groupId>org.onap.portal</groupId>
+       <artifactId>onap-portal-parent</artifactId>
+       <version>2.6.0-SNAPSHOT</version>
        <packaging>pom</packaging>
-       
-       <modules>
-               <!-- Child modules do NOT name this parent. -->
-               <!-- Defined for build convenience only! -->
+       <name>portal</name>
 
-               <!-- This POM names only ONAP projects -->      
+       <modules>
+               <!-- This parent POM names only ONAP projects -->
                <module>ecomp-portal-BE-common</module>
-               <module>ecomp-portal-BE-os</module>     
-               <module>ecomp-portal-BE-common-test</module>
+               <module>ecomp-portal-BE-os</module>
                <module>ecomp-portal-FE-os</module>
                <module>ecomp-portal-widget-ms</module>
        </modules>
 
+       <properties>
+               <!-- Jenkins should invoke mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
+               <build.number>0</build.number>
+               <epsdk.version>2.6.0-SNAPSHOT</epsdk.version>
+               <springframework.version>4.2.3.RELEASE</springframework.version>
+               <hibernate.version>4.3.11.Final</hibernate.version>
+               <fasterxml.version>2.8.10</fasterxml.version>
+               <eelf.version>1.0.0</eelf.version>
+               <!-- NOT provided by OParent, unfortunately -->
+               <jacocoVersion>0.7.6.201602180812</jacocoVersion>
+               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <encoding>UTF-8</encoding>
+               <!-- <sonar.exclusions>**/scripts/**/*,**.js</sonar.exclusions>  -->
+               <sonar.test.exclusions>**/test/**/*,**/tests/**/*</sonar.test.exclusions>
+               <enforcer.skip>false</enforcer.skip>
+       </properties>
+
+       <!-- Specify the repositories here to avoid coordination of ~/.m2/settings.xml 
+               files among developers. Use values (not properties) so oparent can be resolved. -->
+       <repositories>
+               <repository>
+                       <id>onap-releases</id>
+                       <name>ONAP - Release Repository</name>
+                       <url>https://nexus.onap.org/content/repositories/releases</url>
+               </repository>
+               <repository>
+                       <id>onap-staging</id>
+                       <name>ONAP - Staging Repository</name>
+                       <url>https://nexus.onap.org/content/repositories/staging</url>
+               </repository>
+               <repository>
+                       <id>onap-snapshots</id>
+                       <name>ONAP - Snapshot Repository</name>
+                       <url>https://nexus.onap.org/content/repositories/snapshots</url>
+               </repository>
+               <repository>
+                       <id>onap-public</id>
+                       <url>https://nexus.onap.org/content/groups/public</url>
+               </repository>
+       </repositories>
+
+       <!-- Specify the repositories here to avoid coordination of ~/.m2/settings.xml 
+               files among all developers. -->
+       <pluginRepositories>
+               <pluginRepository>
+                       <id>onap-plugin-release</id>
+                       <url>https://nexus.onap.org/content/repositories/releases/</url>
+               </pluginRepository>
+               <pluginRepository>
+                       <id>onap-plugin-staging</id>
+                       <url>https://nexus.onap.org/content/repositories/staging/</url>
+               </pluginRepository>
+               <pluginRepository>
+                       <id>onap-plugin-snapshots</id>
+                       <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+               </pluginRepository>
+       </pluginRepositories>
+
+       <profiles>
+               <!-- disable doclint, a new feature in Java 8, when generating javadoc -->
+               <profile>
+                       <id>doclint-java8-disable</id>
+                       <activation>
+                               <jdk>[1.8,)</jdk>
+                       </activation>
+                       <build>
+                               <plugins>
+                                       <plugin>
+                                               <groupId>org.apache.maven.plugins</groupId>
+                                               <artifactId>maven-javadoc-plugin</artifactId>
+                                               <version>3.0.0-M1</version>
+                                               <configuration>
+                                                       <additionalparam>-Xdoclint:none</additionalparam>
+                                               </configuration>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
+
        <build>
+               <pluginManagement>
+                       <plugins>
+                               <!-- Silence Eclipse m2e warnings -->
+                               <plugin>
+                                       <groupId>org.eclipse.m2e</groupId>
+                                       <artifactId>lifecycle-mapping</artifactId>
+                                       <version>1.0.0</version>
+                                       <configuration>
+                                               <lifecycleMappingMetadata>
+                                                       <pluginExecutions>
+                                                               <pluginExecution>
+                                                                       <pluginExecutionFilter>
+                                                                               <groupId>org.apache.maven.plugins</groupId>
+                                                                               <artifactId>maven-checkstyle-plugin</artifactId>
+                                                                               <versionRange>2.17,)</versionRange>
+                                                                               <goals>
+                                                                                       <goal>check</goal>
+                                                                               </goals>
+                                                                       </pluginExecutionFilter>
+                                                                       <action>
+                                                                               <ignore />
+                                                                       </action>
+                                                               </pluginExecution>
+                                                       </pluginExecutions>
+                                               </lifecycleMappingMetadata>
+                                       </configuration>
+                               </plugin>
+                               <plugin>
+                                       <artifactId>maven-compiler-plugin</artifactId>
+                                       <version>3.1</version>
+                                       <configuration>
+                                               <source>1.8</source>
+                                               <target>1.8</target>
+                                       </configuration>
+                               </plugin>
+                               <!-- maven-site-plugin config is provided by OParent -->
+                               <plugin>
+                                       <groupId>org.apache.maven.plugins</groupId>
+                                       <artifactId>maven-site-plugin</artifactId>
+                                       <version>3.6</version>
+                                       <dependencies>
+                                               <dependency>
+                                                       <groupId>org.apache.maven.wagon</groupId>
+                                                       <artifactId>wagon-webdav-jackrabbit</artifactId>
+                                                       <version>2.10</version>
+                                               </dependency>
+                                       </dependencies>
+                               </plugin>
+                       </plugins>
+               </pluginManagement>
                <plugins>
+                       <!-- Jacoco -->
+                       <plugin>
+                               <groupId>org.jacoco</groupId>
+                               <artifactId>jacoco-maven-plugin</artifactId>
+                               <!-- Override OParent version -->
+                               <version>${jacocoVersion}</version>
+                               <executions>
+                                       <!-- disable jacoco executions from oparent -->
+                                       <execution>
+                                               <id>pre-unit-test</id>
+                                               <phase>none</phase>
+                                       </execution>
+                                       <execution>
+                                               <id>post-unit-test</id>
+                                               <phase>none</phase>
+                                       </execution>
+                                       <execution>
+                                               <id>pre-integration-test</id>
+                                               <phase>none</phase>
+                                       </execution>
+                                       <execution>
+                                               <id>post-integration-test</id>
+                                               <phase>none</phase>
+                                       </execution>
+                                       <!-- Order matters -->
+                                       <execution>
+                                               <id>portal-prepare-agent</id>
+                                               <goals>
+                                                       <goal>prepare-agent</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <destFile>${sonar.jacoco.reportPath}</destFile>
+                                               </configuration>
+                                       </execution>
+                                       <!-- offline instrumentation for PowerMock -->
+                                       <execution>
+                                               <id>portal-offline-instrument</id>
+                                               <goals>
+                                                       <goal>instrument</goal>
+                                               </goals>
+                                       </execution>
+                                       <execution>
+                                               <id>portal-restore-instrumented-classes</id>
+                                               <phase>test</phase>
+                                               <goals>
+                                                       <goal>restore-instrumented-classes</goal>
+                                               </goals>
+                                       </execution>
+                                       <execution>
+                                               <id>portal-post-unit-test</id>
+                                               <phase>test</phase>
+                                               <goals>
+                                                       <goal>report</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <dataFile>${sonar.jacoco.reportPath}</dataFile>
+                                                       <outputDirectory>${project.basedir}/target/site/jacoco</outputDirectory>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-surefire-plugin</artifactId>
+                               <configuration>
+                                       <systemPropertyVariables>
+                                               <jacoco-agent.destfile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco-agent.destfile>
+                                       </systemPropertyVariables>
+                               </configuration>
+                       </plugin>
                        <!-- No deployment step for this project -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-deploy-plugin</artifactId>
-                               <version>2.8</version>
+                               <!-- version managed by oparent <version>2.8</version> -->
                                <configuration>
                                        <skip>true</skip>
                                </configuration>
                        </plugin>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>sonar-maven-plugin</artifactId>
+                               <version>3.0.2</version>
+                       </plugin>
                </plugins>
        </build>
+
+       <distributionManagement>
+               <!-- oparent.version defines snapshot and release repositories -->
+               <site>
+                       <id>ecomp-site</id>
+                       <url>dav:https://nexus.onap.org/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</url>
+               </site>
+       </distributionManagement>
 </project>