update link to upper-constraints.txt
[aai/sparky-be.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 5f03859..0ffa314 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -2,10 +2,16 @@
 <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.onap.oparent</groupId>
+        <artifactId>oparent</artifactId>
+        <version>2.0.0</version>
+    </parent>
+    
     <groupId>org.onap.aai</groupId>
     <artifactId>sparky-be</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
+    <version>2.0.3-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>aai-sparky-be</name>
 
     <properties>
         <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath>
         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <portal.sdk.version>2.6.0</portal.sdk.version>
+
+       <sonar.jacoco.reportPath />
+       <sonar.jacoco.itReportPath />
+       <sonar.jacoco.reportMissing.force.zero />
+
+       <jacoco.line.coverage.limit>0.90</jacoco.line.coverage.limit>
+       <jacoco.version>0.8.5</jacoco.version>
+       <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
+       <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+       <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+       <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+
+       <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
+
+        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+        <maven-compiler-plugin.source>11</maven-compiler-plugin.source>
+        <maven-compiler-plugin.target>11</maven-compiler-plugin.target>
+        <maven-compiler-plugin.test.source>11</maven-compiler-plugin.test.source>
+        <maven-compiler-plugin.test.target>11</maven-compiler-plugin.test.target>
     </properties>
 
+       <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.onap.portal.sdk</groupId>
+                <artifactId>epsdk-fw</artifactId>
+                <version>${portal.sdk.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <!-- we don't need to deploy the top level pom project -->
        <build>
          <pluginManagement>
            <plugins>
-               <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                    <executions>
-                        <execution>
-                            <id>default-deploy</id>
-                            <phase>none</phase>
-                        </execution>
-                    </executions>
-                </plugin>
                 <plugin>
-                    <groupId>org.sonatype.plugins</groupId>
-                    <artifactId>nexus-staging-maven-plugin</artifactId>
-                    <version>1.6.7</version>
-                    <extensions>true</extensions>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>${maven-compiler-plugin.version}</version>
+                    <inherited>true</inherited>
                     <configuration>
-                        <nexusUrl>${onap.nexus.url}</nexusUrl>
-                        <stagingProfileId>176c31dfe190a</stagingProfileId>
-                        <serverId>ecomp-staging</serverId>
+                                               <release>${maven-compiler-plugin.source}</release>
+                        <source>${maven-compiler-plugin.source}</source>
+                        <target>${maven-compiler-plugin.target}</target>
+                        <testSource>${maven-compiler-plugin.test.source}</testSource>
+                        <testTarget>${maven-compiler-plugin.test.target}</testTarget>
                     </configuration>
                 </plugin>
+               <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                </plugin>
                </plugins>
              </pluginManagement>
+
+             <!-- once we connect aai-parent or oparent 3.0+ we can take out this
+                  whole section -->
+             <plugins>
+             <plugin>
+               <groupId>org.jacoco</groupId>
+               <artifactId>jacoco-maven-plugin</artifactId>
+               <version>${jacoco.version}</version>
+               <configuration>
+                 <!-- Note: This exclusion list should match <sonar.exclusions> property
+                      above -->
+                 <excludes>
+                   <exclude>**/gen/**</exclude>
+                   <exclude>**/generated-sources/**</exclude>
+                   <exclude>**/yang-gen/**</exclude>
+                   <exclude>**/pax/**</exclude>
+                   <exclude>org/onap/aai/babel/xml/generator/xsd/*</exclude>
+                 </excludes>
+               </configuration>
+               <executions>
+                 <!-- Prepares the property pointing to the JaCoCo runtime agent which
+                      is passed as VM argument when Maven the Surefire plugin is executed. -->
+                 <execution>
+                   <id>pre-unit-test</id>
+                   <goals>
+                     <goal>prepare-agent</goal>
+                   </goals>
+                   <configuration>
+                     <!-- Sets the path to the file which contains the execution data
+                          . -->
+                     <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+                     <!-- Sets the name of the property containing the settings for JaCoCo
+                          runtime agent. -->
+                     <propertyName>surefireArgLine</propertyName>
+                   </configuration>
+                 </execution>
+                 <!-- Ensures that the code coverage report for unit tests is created
+                      after unit tests have been run. -->
+                 <execution>
+                   <id>post-unit-test</id>
+                   <phase>test</phase>
+                   <goals>
+                     <goal>report</goal>
+                   </goals>
+                   <configuration>
+                     <!-- Sets the path to the file which contains the execution data
+                          . -->
+                     <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+                   </configuration>
+                 </execution>
+                 <execution>
+                   <id>pre-integration-test</id>
+                   <phase>pre-integration-test</phase>
+                   <goals>
+                     <goal>prepare-agent</goal>
+                   </goals>
+                   <configuration>
+                     <!-- Sets the path to the file which contains the execution data
+                          . -->
+                     <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+                     <!-- Sets the name of the property containing the settings for JaCoCo
+                          runtime agent. -->
+                     <propertyName>failsafeArgLine</propertyName>
+                   </configuration>
+                 </execution>
+                 <!-- Ensures that the code coverage report for integration tests after
+                      integration tests have been run. -->
+                 <execution>
+                   <id>post-integration-test</id>
+                   <phase>post-integration-test</phase>
+                   <goals>
+                     <goal>report</goal>
+                   </goals>
+                   <configuration>
+                     <!-- Sets the path to the file which contains the execution data
+                          . -->
+                     <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+                   </configuration>
+                 </execution>
+                 <execution>
+                   <id>default-check</id>
+                   <goals>
+                     <goal>check</goal>
+                   </goals>
+                   <configuration>
+                     <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+                     <rules>
+                       <rule implementation="org.jacoco.maven.RuleConfiguration">
+                         <element>BUNDLE</element>
+                         <limits>
+                           <limit implementation="org.jacoco.report.check.Limit">
+                             <counter>LINE</counter>
+                             <value>COVEREDRATIO</value>
+                             <minimum>${jacoco.line.coverage.limit}</minimum>
+                           </limit>
+                         </limits>
+                       </rule>
+                     </rules>
+                   </configuration>
+                 </execution>
+               </executions>
+             </plugin>
+             <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-surefire-plugin</artifactId>
+               <version>3.0.0-M4</version>
+               <configuration>
+                 <!-- Sets the VM argument line used when unit tests are run. -->
+                 <argLine>${surefireArgLine}</argLine>
+                 <!-- Excludes integration tests when unit tests are run. -->
+                 <excludes>
+                   <exclude>**/IT*.java</exclude>
+                 </excludes>
+               </configuration>
+             </plugin>
+             <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-failsafe-plugin</artifactId>
+               <version>3.0.0-M4</version>
+               <executions>
+                 <!-- Ensures that both integration-test and verify goals of the Failsafe
+                      Maven plugin are executed. -->
+                 <execution>
+                   <id>integration-tests</id>
+                   <goals>
+                     <goal>integration-test</goal>
+                     <goal>verify</goal>
+                   </goals>
+                   <configuration>
+                     <!-- Sets the VM argument line used when integration tests are run. -->
+                     <argLine>${failsafeArgLine}</argLine>
+                   </configuration>
+                 </execution>
+               </executions>
+             </plugin>
+             <plugin>
+               <groupId>org.sonarsource.scanner.maven</groupId>
+               <artifactId>sonar-maven-plugin</artifactId>
+               <version>${sonar.scanner.version}</version>
+             </plugin>
+             <!-- end removable sonar config, note the additional exclusion for babel above
+             -->
+           </plugins>
+
+
        </build>
        
     <distributionManagement>