Merge "Fixing nexus sonar scan issues"
[aai/data-router.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 6858a55..6073f66 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-<!--
+<!--
 ============LICENSE_START=======================================================
 org.onap.aai
 ================================================================================
@@ -237,6 +237,72 @@ limitations under the License.
    <build>
       <finalName>${project.artifactId}</finalName>
       <plugins>
+        <!-- jacoco-maven-plugin provides the basic report creation during unit testing, such as code-coverage, sonar, etc. -->
+         <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <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>${sonar.jacoco.reportPath}</destFile>
+                     <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>${sonar.jacoco.reportPath}</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${jacoco.path}</outputDirectory>
+                  </configuration>
+               </execution>
+               <!-- Prepares the property pointing to the JaCoCo runtime agent which
+                    is passed as VM argument when Maven the Failsafe plugin is executed. -->
+               <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>${sonar.jacoco.itReportPath}</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>${sonar.jacoco.itReportPath}/</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${jacoco.itPath}</outputDirectory>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
          <!-- Checkstyle plugin - used to report on compliance with -->
          <!-- the Google style guide. -->
          <plugin>