Update sonar and surefire cfg 04/101704/5
authorjimmy <jf2512@att.com>
Thu, 13 Feb 2020 19:42:18 +0000 (14:42 -0500)
committerjimmy <jf2512@att.com>
Fri, 14 Feb 2020 14:51:03 +0000 (09:51 -0500)
Issue-ID: AAI-2793
Signed-off-by: Jimmy Forsyth <jf2512@att.com>
Change-Id: I6b42b5712bfbae72776e021d3a4f18c0b8b2a69e

aai-core/pom.xml
aai-parent/pom.xml

index 7ac32cf..886c728 100644 (file)
@@ -1,23 +1,23 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    ============LICENSE_START=======================================================
-    org.onap.aai
-    ================================================================================
-    Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
-    ================================================================================
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
+============LICENSE_START======================================================
+org.onap.aai
+===============================================================================
+Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+===============================================================================
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-    ============LICENSE_END=========================================================
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+===========LICENSE_END=========================================================
 
 -->
 <project
        <properties>
                <springframework.version>4.3.24.RELEASE</springframework.version>
 
-               <httpclient.version>4.5.5</httpclient.version>
-               <jackson.version>2.2.3</jackson.version>
-               <eelf.core.version>1.0.1-oss</eelf.core.version>
-               <logback.version>1.2.3</logback.version>
-               <freemarker.version>2.3.21</freemarker.version>
+               <!-- <httpclient.version>4.5.5</httpclient.version> <jackson.version>2.2.3</jackson.version> 
+                       <eelf.core.version>1.0.1-oss</eelf.core.version> <logback.version>1.2.3</logback.version> 
+                       <freemarker.version>2.3.21</freemarker.version> -->
 
                <jacoco.line.coverage.limit>0.50</jacoco.line.coverage.limit>
                <gremlin.version>3.2.2</gremlin.version>
-               <groovy.version>2.4.15</groovy.version>
-               <jetty.version>9.4.11.v20180605</jetty.version>
-
+               <groovy.version>2.4.15</groovy.version> 
+               <!--    <jetty.version>9.4.11.v20180605</jetty.version> -->
                <!-- Start of Default ONAP Schema Properties -->
                <aai.wiki.link>https://wiki.onap.org/</aai.wiki.link>
                <gendoc.version>v15</gendoc.version>
@@ -61,8 +58,8 @@
                <schema.version.app.root.start>v11</schema.version.app.root.start>
                <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
                <schema.version.edge.label.start>v12</schema.version.edge.label.start>
-               <schema.version.api.default>v15</schema.version.api.default>
-               <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
+               <schema.version.api.default>v19</schema.version.api.default>
+               <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19</schema.version.list>
                <schema.translator.list>config</schema.translator.list>
                <!-- End of Default ONAP Schema Properties -->
        </properties>
@@ -81,8 +78,8 @@
                                <schema.version.app.root.start>v11</schema.version.app.root.start>
                                <schema.version.edge.label.start>v12</schema.version.edge.label.start>
                                <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
-                               <schema.version.api.default>v15</schema.version.api.default>
-                               <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
+                               <schema.version.api.default>v19</schema.version.api.default>
+                               <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19</schema.version.list>
                                <gendoc.version>v15</gendoc.version>
                        </properties>
                </profile>
@@ -93,9 +90,8 @@
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
-                               <version>2.12.4</version>
                                <configuration>
-                                       <argLine>-noverify ${argLine}</argLine>
+                                       <argLine>${argLine}</argLine>
                                        <systemPropertyVariables>
                                                <AJSC_HOME>.</AJSC_HOME>
                                                <BUNDLECONFIG_DIR>bundleconfig-local</BUNDLECONFIG_DIR>
                                <version>2.8</version>
                        </plugin>
                        <plugin>
-                         <groupId>org.sonarsource.scanner.maven</groupId>
-                         <artifactId>sonar-maven-plugin</artifactId>
-                       </plugin>
-                       <plugin>
-                         <groupId>org.jacoco</groupId>
-                         <artifactId>jacoco-maven-plugin</artifactId>
-                         <configuration>
-                           <dumpOnExit>true</dumpOnExit>
-                         </configuration>
-                         <executions>
-                           <execution>
-                             <id>default-prepare-agent</id>
-                             <goals>
-                               <goal>prepare-agent</goal>
-                             </goals>
-                           </execution>
-                           <execution>
-                             <id>default-report</id>
-                             <goals>
-                               <goal>report</goal>
-                             </goals>
-                           </execution>
-                           <execution>
-                             <id>default-check</id>
-                             <goals>
-                               <goal>check</goal>
-                             </goals>
-                             <configuration>
-                               <dataFile>${project.build.directory}/coverage-reports/jacoco.xml</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>
-                         <!-- explicitly define maven-deploy-plugin after other to force exec 
-                              order -->
-                         <groupId>org.apache.maven.plugins</groupId>
-                         <artifactId>maven-deploy-plugin</artifactId>
+                               <!-- explicitly define maven-deploy-plugin after other to force exec 
+                                       order -->
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-deploy-plugin</artifactId>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
index 13a3992..5969d7e 100644 (file)
@@ -2,21 +2,21 @@
 <!--
 
 ============LICENSE_START======================================================
-    org.onap.aai
+org.onap.aai
 ===============================================================================
-    Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+Copyright © 2019 AT&T Intellectual Property. All rights reserved.
 ===============================================================================
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 ===========LICENSE_END=========================================================
 
 -->
@@ -38,7 +38,7 @@
        </modules>
 
        <properties>
-               <!--  update this just prior to release or figure out something with version.properties -->
+               <!-- update this just prior to release or figure out something with version.properties -->
                <aai.release.version>${project.version}</aai.release.version>
                <aai.common.logging.version>1.5.1</aai.common.logging.version>
                <aai.rest.client.version>1.5.1</aai.rest.client.version>
@@ -78,7 +78,7 @@
                <jnr.ffi.version>2.1.11</jnr.ffi.version>
                <jolt.version>0.0.24</jolt.version>
                <jopt.simple.version>5.0.4</jopt.simple.version>
-               <jsonassert.version>1.5.0</jsonassert.version> 
+               <jsonassert.version>1.5.0</jsonassert.version>
                <json.patch.version>1.9</json.patch.version>
                <json.path.version>2.4.0</json.path.version>
                <json.version>20190722</json.version>
                <reflections.version>0.9.10</reflections.version>
                <snakeyaml.version>1.25</snakeyaml.version>
                <spring.boot.version>1.5.22.RELEASE</spring.boot.version>
+
+               <sonar.jacoco.reportPath />
+               <sonar.jacoco.itReportPath />
+               <sonar.jacoco.reportMissing.force.zero />
+               
+               <!-- we let things pass by default, set custom level for each child project -->
+               <jacoco.line.coverage.limit>0.00</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>
-               
+
                <spring.web.version>4.3.25.RELEASE</spring.web.version>
                <spring.jms.version>4.3.25.RELEASE</spring.jms.version>
                <spring.test.version>4.3.25.RELEASE</spring.test.version>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.springframework.boot</groupId>
-                         <artifactId>spring-boot-starter-web</artifactId>
-                         <version>${spring.boot.version}</version>
+                               <groupId>org.springframework.boot</groupId>
+                               <artifactId>spring-boot-starter-web</artifactId>
+                               <version>${spring.boot.version}</version>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.springframework.boot</groupId>
-                         <artifactId>spring-boot-starter-parent</artifactId>
-                         <version>${spring.boot.version}</version>
-                         <type>pom</type>
-                         <scope>import</scope>
+                               <groupId>org.springframework.boot</groupId>
+                               <artifactId>spring-boot-starter-parent</artifactId>
+                               <version>${spring.boot.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
                        </dependency>
 
                        <dependency>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.springframework</groupId>
-                         <artifactId>spring-test</artifactId>
-                         <version>${spring.test.version}</version>
+                               <groupId>org.springframework</groupId>
+                               <artifactId>spring-test</artifactId>
+                               <version>${spring.test.version}</version>
                        </dependency>
 
                        <dependency>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.antlr</groupId>
-                         <artifactId>antlr4-runtime</artifactId>
-                         <version>${antlr.version}</version>
+                               <groupId>org.antlr</groupId>
+                               <artifactId>antlr4-runtime</artifactId>
+                               <version>${antlr.version}</version>
                        </dependency>
                        <dependency>
-                         <groupId>org.antlr</groupId>
-                         <artifactId>antlr4-maven-plugin</artifactId>
-                         <version>${antlr.version}</version>
+                               <groupId>org.antlr</groupId>
+                               <artifactId>antlr4-maven-plugin</artifactId>
+                               <version>${antlr.version}</version>
                        </dependency>
-                       
+
                        <dependency>
-                         <groupId>org.json</groupId>
-                         <artifactId>json</artifactId>
-                         <version>${json.version}</version>
+                               <groupId>org.json</groupId>
+                               <artifactId>json</artifactId>
+                               <version>${json.version}</version>
                        </dependency>
 
                        <dependency>
                        </dependency>
 
                        <dependency>
-                         <groupId>com.jayway.jsonpath</groupId>
-                         <artifactId>json-path</artifactId>
-                         <version>${json.path.version}</version>
+                               <groupId>com.jayway.jsonpath</groupId>
+                               <artifactId>json-path</artifactId>
+                               <version>${json.path.version}</version>
                        </dependency>
 
                        <dependency>
                                <version>${gson.version}</version>
                        </dependency>
 
-                       
+
                        <dependency>
                                <groupId>org.apache.commons</groupId>
                                <artifactId>commons-text</artifactId>
                                <artifactId>jersey-core</artifactId>
                                <version>${jersey.version}</version>
                        </dependency>
-                       
+
                        <dependency>
                                <groupId>com.sun.jersey</groupId>
                                <artifactId>jersey-client</artifactId>
                                <version>${jersey.version}</version>
                        </dependency>
-                       
+
                        <dependency>
                                <groupId>com.sun.jersey</groupId>
                                <artifactId>jersey-json</artifactId>
                                <artifactId>log4j</artifactId>
                                <version>${log4j.version}</version>
                        </dependency>
-                       
+
                        <dependency>
                                <groupId>log4j</groupId>
                                <artifactId>apache-log4j-extras</artifactId>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.springframework</groupId>
-                         <artifactId>spring-jms</artifactId>
-                         <version>${spring.jms.version}</version>
+                               <groupId>org.springframework</groupId>
+                               <artifactId>spring-jms</artifactId>
+                               <version>${spring.jms.version}</version>
                        </dependency>
 
                        <dependency>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.onap.aai.schema-service</groupId>
-                          <artifactId>aai-schema</artifactId>
-                         <version>${aai.schema.service.version}</version>
+                               <groupId>org.onap.aai.schema-service</groupId>
+                               <artifactId>aai-schema</artifactId>
+                               <version>${aai.schema.service.version}</version>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.apache.httpcomponents</groupId>
-                         <artifactId>httpclient</artifactId>
-                         <version>${httpclient.version}</version>
+                               <groupId>org.apache.httpcomponents</groupId>
+                               <artifactId>httpclient</artifactId>
+                               <version>${httpclient.version}</version>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.skyscreamer</groupId>
-                         <artifactId>jsonassert</artifactId>
-                         <version>${jsonassert.version}</version>
-                         <scope>test</scope>
+                               <groupId>org.skyscreamer</groupId>
+                               <artifactId>jsonassert</artifactId>
+                               <version>${jsonassert.version}</version>
+                               <scope>test</scope>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.codehaus.plexus</groupId>
-                         <artifactId>plexus-utils</artifactId>
-                         <version>${plexus.utils.version}</version>
+                               <groupId>org.codehaus.plexus</groupId>
+                               <artifactId>plexus-utils</artifactId>
+                               <version>${plexus.utils.version}</version>
                        </dependency>
 
                        <dependency>
-                         <groupId>org.yaml</groupId>
-                         <artifactId>snakeyaml</artifactId>
-                         <version>${snakeyaml.version}</version>
+                               <groupId>org.yaml</groupId>
+                               <artifactId>snakeyaml</artifactId>
+                               <version>${snakeyaml.version}</version>
                        </dependency>
 
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-compress</artifactId>
-                       <version>${commons.compress.version}</version>
-               </dependency>
+                       <dependency>
+                               <groupId>org.apache.commons</groupId>
+                               <artifactId>commons-compress</artifactId>
+                               <version>${commons.compress.version}</version>
+                       </dependency>
 
-               <dependency>
-                       <groupId>org.reflections</groupId>
-                       <artifactId>reflections</artifactId>
-                       <version>${reflections.version}</version>
-               </dependency>
+                       <dependency>
+                               <groupId>org.reflections</groupId>
+                               <artifactId>reflections</artifactId>
+                               <version>${reflections.version}</version>
+                       </dependency>
 
-               <dependency>
-                       <groupId>commons-net</groupId>
-                       <artifactId>commons-net</artifactId>
-                       <version>${commons.net.version}</version>
-               </dependency>
+                       <dependency>
+                               <groupId>commons-net</groupId>
+                               <artifactId>commons-net</artifactId>
+                               <version>${commons.net.version}</version>
+                       </dependency>
 
                </dependencies>
 
                                        <artifactId>docker-maven-plugin</artifactId>
                                        <version>${docker.fabric.version}</version>
                                </plugin>
-                               
+
                                <plugin>
-                                 <groupId>org.sonarsource.scanner.maven</groupId>
-                                 <artifactId>sonar-maven-plugin</artifactId>
-                                 <version>${sonar.scanner.version}</version>
+                                       <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>
+                                               <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.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>
+                                       <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>
+
                        </plugins>
                </pluginManagement>
-       </build>
 
+               <plugins>
+                       <plugin>
+                               <groupId>org.jacoco</groupId>
+                               <artifactId>jacoco-maven-plugin</artifactId>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-surefire-plugin</artifactId>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-failsafe-plugin</artifactId>
+                       </plugin>
+               </plugins>
+
+       </build>
 </project>