2.1.0 release
[aai/sparky-be.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index b1b9979..e4f51f5 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">
-    <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.onap.oparent</groupId>
-        <artifactId>oparent</artifactId>
-        <version>2.0.0</version>
-    </parent>
-    
-    <groupId>org.onap.aai</groupId>
-    <artifactId>sparky-be</artifactId>
-    <version>1.5.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    <name>aai-sparky-be</name>
+               <groupId>org.onap.oparent</groupId>
+               <artifactId>oparent</artifactId>
+               <version>2.0.0</version>
+       </parent>
+
+       <groupId>org.onap.aai</groupId>
+       <artifactId>sparky-be</artifactId>
+       <version>2.1.0-SNAPSHOT</version>
+       <packaging>pom</packaging>
+       <name>aai-sparky-be</name>
 
        <modules>
                <module>sparkybe-onap-service/pom.xml</module>
                <module>sparkybe-onap-application/pom.xml</module>
        </modules>
 
-    <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>
-    </properties>
+       <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>
+                       <dependency>
+                               <groupId>commons-io</groupId>
+                               <artifactId>commons-io</artifactId>
+                               <version>2.17.0</version>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
 
-    <!-- we don't need to deploy the top level pom project -->
+       <!-- 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>
-                </plugin>
+               <pluginManagement>
+                       <plugins>
+                               <plugin>
+                                       <groupId>org.apache.maven.plugins</groupId>
+                                       <artifactId>maven-compiler-plugin</artifactId>
+                                       <version>${maven-compiler-plugin.version}</version>
+                                       <inherited>true</inherited>
+                                       <configuration>
+                                               <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>
-             </pluginManagement>
+
+
        </build>
-       
-    <distributionManagement>
-       <repository>
-          <id>ecomp-releases</id>
-          <name>ECOMP Release Repository</name>
-          <url>${onap.nexus.url}/content/repositories/releases/</url>
-       </repository>
-       <snapshotRepository>
-          <id>ecomp-snapshots</id>
-          <name>ECOMP Snapshot Repository</name>
-          <url>${onap.nexus.url}/content/repositories/snapshots/</url>
-      </snapshotRepository>
-      <site>
-        <id>ecomp-site</id>
-        <url>dav:${onap.nexus.url}${sitePath}</url>
-      </site>
-   </distributionManagement>
-
-    <repositories>
-        <repository>
-            <id>central</id>
-            <name>Maven 2 repository 2</name>
-            <url>http://repo2.maven.org/maven2/</url>
-        </repository>
-        <repository>
-            <id>ecomp-releases</id>
-            <name>ECOMP Release Repository</name>
-            <url>${onap.nexus.url}/content/repositories/releases/</url>
-        </repository>
-        <repository>
-            <id>ecomp-staging</id>
-            <name>ECOMP Staging Repository</name>
-            <url>${onap.nexus.url}/content/repositories/staging/</url>
-        </repository>
-        <repository>
-            <id>ecomp-snapshots</id>
-            <name>ECOMP Snapshot Repository</name>
-            <url>${onap.nexus.url}/content/repositories/snapshots/</url>
-        </repository>
-    </repositories>
-       
+
+       <distributionManagement>
+               <repository>
+                       <id>ecomp-releases</id>
+                       <name>ECOMP Release Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/releases/</url>
+               </repository>
+               <snapshotRepository>
+                       <id>ecomp-snapshots</id>
+                       <name>ECOMP Snapshot Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/snapshots/</url>
+               </snapshotRepository>
+               <site>
+                       <id>ecomp-site</id>
+                       <url>dav:${onap.nexus.url}${sitePath}</url>
+               </site>
+       </distributionManagement>
+
+       <repositories>
+               <repository>
+                       <id>central</id>
+                       <name>Maven 2 repository 2</name>
+                       <url>http://repo2.maven.org/maven2/</url>
+               </repository>
+               <repository>
+                       <id>ecomp-releases</id>
+                       <name>ECOMP Release Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/releases/</url>
+               </repository>
+               <repository>
+                       <id>ecomp-staging</id>
+                       <name>ECOMP Staging Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/staging/</url>
+               </repository>
+               <repository>
+                       <id>ecomp-snapshots</id>
+                       <name>ECOMP Snapshot Repository</name>
+                       <url>${onap.nexus.url}/content/repositories/snapshots/</url>
+               </repository>
+       </repositories>
+
 </project>