Introduce CPS-checkstyle 65/115965/4
authorClaudio David Gasparini <claudio.gasparini@pantheon.tech>
Tue, 1 Dec 2020 13:53:40 +0000 (14:53 +0100)
committerClaudio David Gasparini <claudio.gasparini@pantheon.tech>
Wed, 2 Dec 2020 12:10:52 +0000 (12:10 +0000)
new module will define our own java checkstyle.
Which should extend any rule desired and not covered
already by onap checkstyle

Issue-ID: CPS-120
Signed-off-by: Claudio David Gasparini <claudio.gasparini@pantheon.tech>
Change-Id: I956d28770e107658c1b631eb277cff56e13bcf80

checkstyle/pom.xml [new file with mode: 0644]
checkstyle/src/main/resources/cps-java-style.xml [new file with mode: 0644]
cps-bom/pom.xml
cps-parent/pom.xml
pom.xml

diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
new file mode 100644 (file)
index 0000000..c6b0d24
--- /dev/null
@@ -0,0 +1,9 @@
+<?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>
+    <groupId>org.onap.cps</groupId>
+    <artifactId>checkstyle</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+</project>
\ No newline at end of file
diff --git a/checkstyle/src/main/resources/cps-java-style.xml b/checkstyle/src/main/resources/cps-java-style.xml
new file mode 100644 (file)
index 0000000..ebb9a19
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+============LICENSE_START=======================================================
+ Copyright (C) 2020 Pantheon.tech
+ ================================================================================
+ 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
+ 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.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+<!DOCTYPE module PUBLIC
+        "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+        "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+<module name="Checker">
+    <property name="charset" value="UTF-8"/>
+    <property name="severity" value="warning"/>
+    <property name="fileExtensions" value="java, properties, xml"/>
+
+    <module name="TreeWalker">
+        <module name="FinalLocalVariable">
+            <property name="tokens" value="VARIABLE_DEF,PARAMETER_DEF"/>
+            <property name="validateEnhancedForLoopVariable" value="true"/>
+        </module>
+    </module>
+</module>
\ No newline at end of file
index 5b0271a..43ad05f 100644 (file)
                 <artifactId>cps-ri</artifactId>
                 <version>${project.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.onap.cps</groupId>
+                <artifactId>checkstyle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 </project>
\ No newline at end of file
index 99f6095..5aa65a2 100644 (file)
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <executions>
+                    <execution>
+                        <id>onap-license</id>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <configLocation>onap-checkstyle/check-license.xml</configLocation>
+                            <includeResources>false</includeResources>
+                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                            <includeTestResources>false</includeTestResources>
+                            <sourceDirectories>
+                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                            </sourceDirectories>
+                            <consoleOutput>false</consoleOutput>
+                            <violationSeverity>warning</violationSeverity>
+                            <failOnViolation>true</failOnViolation>
+                        </configuration>
+                    </execution>
                     <execution>
                         <id>onap-java-style</id>
                         <goals>
                         <phase>process-sources</phase>
                         <configuration>
                             <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
-                            <sourceDirectories>${project.build.sourceDirectory}</sourceDirectories>
+                            <sourceDirectories>
+                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                            </sourceDirectories>
                             <includeResources>true</includeResources>
                             <includeTestSourceDirectory>true</includeTestSourceDirectory>
                             <includeTestResources>true</includeTestResources>
                             <failOnViolation>true</failOnViolation>
                         </configuration>
                     </execution>
+                    <execution>
+                        <id>cps-java-style</id>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <phase>process-sources</phase>
+                        <configuration>
+                            <configLocation>cps-java-style.xml</configLocation>
+                            <sourceDirectories>
+                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                            </sourceDirectories>
+                            <includeResources>true</includeResources>
+                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                            <includeTestResources>true</includeTestResources>
+                            <consoleOutput>true</consoleOutput>
+                            <violationSeverity>warning</violationSeverity>
+                            <failOnViolation>true</failOnViolation>
+                        </configuration>
+                    </execution>
                 </executions>
                 <dependencies>
                     <dependency>
                         <artifactId>checkstyle</artifactId>
                         <version>${oparent.version}</version>
                     </dependency>
+                    <dependency>
+                        <groupId>${project.groupId}</groupId>
+                        <artifactId>checkstyle</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
                 </dependencies>
             </plugin>
             <!-- Mandatory plugins for using Spock -->
diff --git a/pom.xml b/pom.xml
index bdb2e91..e5c6df3 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -33,5 +33,6 @@
         <module>cps-service</module>\r
         <module>cps-rest</module>\r
         <module>cps-ri</module>\r
+        <module>checkstyle</module>\r
     </modules>\r
 </project>\r