update version of checkstyle for latest google style and jdk 8
[oparent.git] / oparent / pom.xml
index 2c5c5b0..6fc37e3 100644 (file)
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
    Copyright (c) 2016-2017 Huawei Technologies Co., Ltd.
+   Modifications copyright (C) 2019 AT&T Intellectual Property
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -19,7 +20,7 @@
   <parent>
     <groupId>org.onap.oparent</groupId>
     <artifactId>version</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>oparent</artifactId>
@@ -32,7 +33,7 @@
     <url>https://wiki.onap.org/display/DW/Integration+Project</url>
   </scm>
   <properties>
-    <jacoco.version>0.7.7.201606060606</jacoco.version>
+    <jacoco.version>0.8.2</jacoco.version>
     <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
     <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
     <!-- Default Sonar configuration -->
     <!-- If following file exist, auto-generation of sdk will be done -->
     <swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
   </properties>
-  <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>ONAP Release Repository</name>
-      <url>https://nexus.onap.org/content/repositories/releases/</url>
-    </repository>
-    <repository>
-      <id>ecomp-snapshots</id>
-      <name>ONAP Snapshot Repository</name>
-      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <pluginRepositories>
-    <pluginRepository>
-      <id>central</id>
-      <name>Maven 2 repository 2</name>
-      <url>http://repo2.maven.org/maven2/</url>
-    </pluginRepository>
-    <pluginRepository>
-      <id>ecomp-releases</id>
-      <name>ONAP Release Repository</name>
-      <url>https://nexus.onap.org/content/repositories/releases/</url>
-    </pluginRepository>
-    <pluginRepository>
-      <id>ecomp-snapshots</id>
-      <name>ONAP Snapshot Repository</name>
-      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </pluginRepository>
-  </pluginRepositories>
   <profiles>
     <profile>
       <id>generate-json</id>
         </dependency>
       </dependencies>
     </profile>
+    <profile>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <!-- overrides oparent's existing checkstyle to check java 8 code -->
+      <id>checkstyle-jdk8</id>
+      <build>
+        <plugins>
+          <plugin>
+            <!--
+              - override the original oparent checkstyle configuration to
+              - use a later version of checkstyle which is jdk8 aware, and
+              - use an updated checkstyle config that conforms to onap style and the later checkstyle format.
+              -->
+            <artifactId>maven-checkstyle-plugin</artifactId>
+            <version>3.1.0</version>
+            <dependencies>
+              <dependency>
+                <!-- because google's latest style is not supported by plugin's default  version-->
+                <groupId>com.puppycrawl.tools</groupId>
+                <artifactId>checkstyle</artifactId>
+                <version>8.24</version>
+              </dependency>
+            </dependencies>
+            <executions>
+              <execution>
+                <id>onap-license</id>
+                <configuration>
+                  <!-- this config not supported by checkstyle any more -->
+                  <sourceDirectory combine.self="override"/>
+                  <sourceDirectories>
+                    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                  </sourceDirectories>
+                </configuration>
+              </execution>
+              <execution>
+                <id>onap-java-style</id>
+                <configuration>
+                  <!-- Use Google Java Style Guide:
+                     https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
+                     with minor changes -->
+                  <configLocation>onap-checkstyle/onap-java-style${maven.compiler.source}.xml</configLocation>
+                  <!-- this config not supported by checkstyle any more -->
+                  <sourceDirectory combine.self="override"/>
+                  <sourceDirectories>
+                    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                  </sourceDirectories>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
   </profiles>
   <dependencyManagement>
     <dependencies>
       <dependency>
         <groupId>org.onap.oparent</groupId>
         <artifactId>dependencies</artifactId>
-        <version>1.2.0-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.19.1</version>
+          <version>2.22.0</version>
           <configuration>
             <!-- Sets the VM argument line used when unit tests are run. -->
             <argLine>${surefireArgLine}</argLine>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-failsafe-plugin</artifactId>
-          <version>2.19.1</version>
+          <version>2.22.0</version>
           <executions>
             <!--
         Ensures that both integration-test and verify goals of the Failsafe Maven
           <dependency>
             <groupId>org.onap.oparent</groupId>
             <artifactId>checkstyle</artifactId>
-            <version>1.2.0-SNAPSHOT</version>
+            <version>3.0.0-SNAPSHOT</version>
           </dependency>
         </dependencies>
         <executions>
                    with minor changes -->
               <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
               <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
-              <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
+              <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
               <includeResources>true</includeResources>
               <includeTestSourceDirectory>true</includeTestSourceDirectory>
               <includeTestResources>true</includeTestResources>