Add Sonar configuration 49/9949/1
authorVarun Gudisena <vg411h@att.com>
Fri, 1 Sep 2017 16:38:03 +0000 (11:38 -0500)
committerVarun Gudisena <vg411h@att.com>
Fri, 1 Sep 2017 16:38:09 +0000 (11:38 -0500)
Added sonar and jacoco configuration

Issue-id: DMAAP-85
Change-Id: I2cffc851e4a0ad3f1bf5c415596026c271924822
Signed-off-by: Varun Gudisena <vg411h@att.com>
pom.xml

diff --git a/pom.xml b/pom.xml
index 644c9a0..7a50428 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                <spring.version>3.2.14.RELEASE</spring.version>
                <cxf.version>3.0.4</cxf.version>
                <jstl.version>1.2</jstl.version>
-               <sonar.junit.reportsPath>target/surefire-reports</sonar.junit.reportsPath>
-               <sonar.cobertura.reportPath>target/cobertura/cobertura.ser</sonar.cobertura.reportPath>
                <maven.compiler.target>1.7</maven.compiler.target>
                <maven.compiler.source>1.7</maven.compiler.source>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               
+               <!--  SONAR  -->
+                <jacoco.version>0.7.7.201606060606</jacoco.version>
+           <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
+           <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+           <!-- Default Sonar configuration -->
+           <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
+           <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+           <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
+           <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
        </properties>
 
        <!-- Distribution management -->
                                            <format>xml</format>
                                          </formats>
                                        </configuration>
-                          </plugin>                    
+                          </plugin>    
+               <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>
+            </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>
+          </executions>
+        </plugin>              
                </plugins>
        </build>