Skip to content
This repository was archived by the owner on Feb 9, 2021. It is now read-only.

Commit c0f7b47

Browse files
jimschuberttomasbjerre
andauthoredJan 26, 2020
[ci][test] Modifications to static analysis contribution via Tomasbjerre (OpenAPITools#5116)
* Spotbugs, PMD and Checkstyle OpenAPITools#33 * Reducing Spotbugs effort to min OpenAPITools#33 * Also using project.parent.basedir and avoiding relative paths in pom files. * Filtering out samples. * Move PMD/Spotbugs to static-analysis profile This moves the static-analysis checks to a standalone profile. Core contributors may run static analysis with: ``` mvn -Pstatic-analysis install ``` The analysis is separated from default functionality to reduce impact to community contributions. SpotBugs/PMD may add a non-trivial amount of time to builds on some machines. Co-authored-by: Tomas Bjerre <tomas.bjerre85@gmail.com>
1 parent 20afa87 commit c0f7b47

File tree

10 files changed

+388
-0
lines changed

10 files changed

+388
-0
lines changed
 

‎.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.mvn/.gradle-enterprise/
12
.scannerwork/
23
.vscode
34
*.iml
@@ -29,6 +30,8 @@ packages/
2930
.vagrant/
3031
.vscode/
3132
**/.vs
33+
bin
34+
.factorypath
3235

3336
.settings
3437

‎README.md

+6
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,12 @@ If you don't have maven installed, you may directly use the included [maven wrap
252252
./mvnw clean install
253253
```
254254

255+
The default build contains minimal static analysis (via CheckStyle). To run your build with PMD and Spotbugs, use the `static-analysis` profile:
256+
257+
```sh
258+
mvn -Pstatic-analysis clean install
259+
```
260+
255261
### [1.5 - Homebrew](#table-of-contents)
256262

257263
To install, run `brew install openapi-generator`

‎modules/openapi-generator-cli/pom.xml

+32
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@
2626
</resource>
2727
</resources>
2828
<plugins>
29+
<plugin>
30+
<groupId>org.apache.maven.plugins</groupId>
31+
<artifactId>maven-checkstyle-plugin</artifactId>
32+
<configuration>
33+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
34+
</configuration>
35+
</plugin>
2936
<plugin>
3037
<groupId>org.apache.maven.plugins</groupId>
3138
<artifactId>maven-jar-plugin</artifactId>
@@ -73,6 +80,31 @@
7380
</plugins>
7481
</build>
7582

83+
<profiles>
84+
<profile>
85+
<id>static-analysis</id>
86+
<build>
87+
<plugins>
88+
<plugin>
89+
<groupId>com.github.spotbugs</groupId>
90+
<artifactId>spotbugs-maven-plugin</artifactId>
91+
<configuration>
92+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
93+
</configuration>
94+
</plugin>
95+
<plugin>
96+
<groupId>org.apache.maven.plugins</groupId>
97+
<artifactId>maven-pmd-plugin</artifactId>
98+
</plugin>
99+
<plugin>
100+
<groupId>se.bjurr.violations</groupId>
101+
<artifactId>violations-maven-plugin</artifactId>
102+
</plugin>
103+
</plugins>
104+
</build>
105+
</profile>
106+
</profiles>
107+
76108
<dependencies>
77109

78110
<dependency>

‎modules/openapi-generator-core/pom.xml

+37
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,18 @@
1616
<name>openapi-generator-core</name>
1717
<url>https://github.com/openapitools/openapi-generator</url>
1818

19+
<build>
20+
<plugins>
21+
<plugin>
22+
<groupId>org.apache.maven.plugins</groupId>
23+
<artifactId>maven-checkstyle-plugin</artifactId>
24+
<configuration>
25+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
26+
</configuration>
27+
</plugin>
28+
</plugins>
29+
</build>
30+
1931
<dependencies>
2032
<dependency>
2133
<groupId>com.google.guava</groupId>
@@ -34,6 +46,31 @@
3446
</dependency>
3547
</dependencies>
3648

49+
<profiles>
50+
<profile>
51+
<id>static-analysis</id>
52+
<build>
53+
<plugins>
54+
<plugin>
55+
<groupId>com.github.spotbugs</groupId>
56+
<artifactId>spotbugs-maven-plugin</artifactId>
57+
<configuration>
58+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
59+
</configuration>
60+
</plugin>
61+
<plugin>
62+
<groupId>org.apache.maven.plugins</groupId>
63+
<artifactId>maven-pmd-plugin</artifactId>
64+
</plugin>
65+
<plugin>
66+
<groupId>se.bjurr.violations</groupId>
67+
<artifactId>violations-maven-plugin</artifactId>
68+
</plugin>
69+
</plugins>
70+
</build>
71+
</profile>
72+
</profiles>
73+
3774
<properties>
3875
<slf4j-version>1.7.12</slf4j-version>
3976
<guava-version>26.0-jre</guava-version>

‎modules/openapi-generator-gradle-plugin/pom.xml

+31
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@
6565
</pluginManagement>
6666

6767
<plugins>
68+
<plugin>
69+
<groupId>org.apache.maven.plugins</groupId>
70+
<artifactId>maven-checkstyle-plugin</artifactId>
71+
<configuration>
72+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
73+
</configuration>
74+
</plugin>
6875
<!-- 2) run gradle -->
6976
<plugin>
7077
<groupId>org.fortasoft</groupId>
@@ -104,4 +111,28 @@
104111
</plugins>
105112
</build>
106113

114+
<profiles>
115+
<profile>
116+
<id>static-analysis</id>
117+
<build>
118+
<plugins>
119+
<plugin>
120+
<groupId>com.github.spotbugs</groupId>
121+
<artifactId>spotbugs-maven-plugin</artifactId>
122+
<configuration>
123+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
124+
</configuration>
125+
</plugin>
126+
<plugin>
127+
<groupId>org.apache.maven.plugins</groupId>
128+
<artifactId>maven-pmd-plugin</artifactId>
129+
</plugin>
130+
<plugin>
131+
<groupId>se.bjurr.violations</groupId>
132+
<artifactId>violations-maven-plugin</artifactId>
133+
</plugin>
134+
</plugins>
135+
</build>
136+
</profile>
137+
</profiles>
107138
</project>

‎modules/openapi-generator-maven-plugin/pom.xml

+32
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@
8989
</plugins>
9090
</pluginManagement>
9191
<plugins>
92+
<plugin>
93+
<groupId>org.apache.maven.plugins</groupId>
94+
<artifactId>maven-checkstyle-plugin</artifactId>
95+
<configuration>
96+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
97+
</configuration>
98+
</plugin>
9299
<plugin>
93100
<groupId>net.revelc.code</groupId>
94101
<artifactId>formatter-maven-plugin</artifactId>
@@ -99,4 +106,29 @@
99106
</plugin>
100107
</plugins>
101108
</build>
109+
<profiles>
110+
111+
<profile>
112+
<id>static-analysis</id>
113+
<build>
114+
<plugins>
115+
<plugin>
116+
<groupId>com.github.spotbugs</groupId>
117+
<artifactId>spotbugs-maven-plugin</artifactId>
118+
<configuration>
119+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
120+
</configuration>
121+
</plugin>
122+
<plugin>
123+
<groupId>org.apache.maven.plugins</groupId>
124+
<artifactId>maven-pmd-plugin</artifactId>
125+
</plugin>
126+
<plugin>
127+
<groupId>se.bjurr.violations</groupId>
128+
<artifactId>violations-maven-plugin</artifactId>
129+
</plugin>
130+
</plugins>
131+
</build>
132+
</profile>
133+
</profiles>
102134
</project>

‎modules/openapi-generator-online/pom.xml

+36
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@
4242
</resource>
4343
</resources>
4444
<plugins>
45+
<plugin>
46+
<groupId>org.apache.maven.plugins</groupId>
47+
<artifactId>maven-checkstyle-plugin</artifactId>
48+
<configuration>
49+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
50+
</configuration>
51+
</plugin>
4552
<plugin>
4653
<groupId>org.springframework.boot</groupId>
4754
<artifactId>spring-boot-maven-plugin</artifactId>
@@ -56,6 +63,35 @@
5663
</plugin>
5764
</plugins>
5865
</build>
66+
<profiles>
67+
68+
<profile>
69+
<id>static-analysis</id>
70+
<build>
71+
<plugins>
72+
<plugin>
73+
<groupId>com.github.spotbugs</groupId>
74+
<artifactId>spotbugs-maven-plugin</artifactId>
75+
<configuration>
76+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
77+
</configuration>
78+
</plugin>
79+
<plugin>
80+
<groupId>org.apache.maven.plugins</groupId>
81+
<artifactId>maven-pmd-plugin</artifactId>
82+
</plugin>
83+
<plugin>
84+
<groupId>se.bjurr.violations</groupId>
85+
<artifactId>violations-maven-plugin</artifactId>
86+
<configuration>
87+
<!-- Should be decreased regularly down to 0 as issues are fixed. -->
88+
<maxViolations>3</maxViolations>
89+
</configuration>
90+
</plugin>
91+
</plugins>
92+
</build>
93+
</profile>
94+
</profiles>
5995
<dependencies>
6096
<dependency>
6197
<groupId>org.springframework.boot</groupId>

‎modules/openapi-generator/pom.xml

+34
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@
4343
<directory>target</directory>
4444
<finalName>${project.artifactId}-${project.version}</finalName>
4545
<plugins>
46+
<plugin>
47+
<groupId>org.apache.maven.plugins</groupId>
48+
<artifactId>maven-checkstyle-plugin</artifactId>
49+
<configuration>
50+
<configLocation>${project.parent.basedir}${file.separator}google_checkstyle.xml</configLocation>
51+
</configuration>
52+
</plugin>
4653
<plugin>
4754
<groupId>org.codehaus.mojo</groupId>
4855
<artifactId>exec-maven-plugin</artifactId>
@@ -155,6 +162,33 @@
155162
</plugins>
156163
</build>
157164
</profile>
165+
<profile>
166+
<id>static-analysis</id>
167+
<build>
168+
<plugins>
169+
<plugin>
170+
<groupId>com.github.spotbugs</groupId>
171+
<artifactId>spotbugs-maven-plugin</artifactId>
172+
<configuration>
173+
<excludeFilterFile>${project.parent.basedir}${file.separator}spotbugs-exclude.xml</excludeFilterFile>
174+
</configuration>
175+
</plugin>
176+
<plugin>
177+
<groupId>org.apache.maven.plugins</groupId>
178+
<artifactId>maven-pmd-plugin</artifactId>
179+
</plugin>
180+
<plugin>
181+
<groupId>se.bjurr.violations</groupId>
182+
<artifactId>violations-maven-plugin</artifactId>
183+
<configuration>
184+
<!-- Should be decreased continuousle as issues are fixed, and will eventually
185+
reach 0. -->
186+
<maxViolations>65</maxViolations>
187+
</configuration>
188+
</plugin>
189+
</plugins>
190+
</build>
191+
</profile>
158192
</profiles>
159193
<reporting>
160194
<outputDirectory>target/site</outputDirectory>

0 commit comments

Comments
 (0)
This repository has been archived.