Skip to content

Commit e8a9b60

Browse files
tristanzhouEugen
authored andcommitted
Introduction to pmd (eugenp#972)
* initial check for introduction to pmd * change name to static-analysis * move it to static-analysis
1 parent 8dc3487 commit e8a9b60

3 files changed

Lines changed: 79 additions & 0 deletions

File tree

static-analysis/pom.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.baeldung</groupId>
8+
<artifactId>static-analysis</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<dependencies>
12+
</dependencies>
13+
14+
<reporting>
15+
<plugins>
16+
<plugin>
17+
<groupId>org.apache.maven.plugins</groupId>
18+
<artifactId>maven-pmd-plugin</artifactId>
19+
<version>3.7</version>
20+
<configuration>
21+
<rulesets>
22+
<ruleset>rulesets/java/braces.xml</ruleset>
23+
<ruleset>rulesets/java/naming.xml</ruleset>
24+
</rulesets>
25+
</configuration>
26+
</plugin>
27+
</plugins>
28+
</reporting>
29+
30+
</project>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.baeldung.pmd;
2+
3+
public class Cnt {
4+
5+
public int d(int a, int b) {
6+
if (b == 0)
7+
return Integer.MAX_VALUE;
8+
else
9+
return a / b;
10+
}
11+
12+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0"?>
2+
<ruleset name="Custom ruleset" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
5+
6+
<description>
7+
This ruleset checks my code for bad stuff
8+
</description>
9+
10+
<!-- We'll use the entire 'strings' ruleset -->
11+
<rule ref="rulesets/java/strings.xml" />
12+
13+
<!-- Here's some rules we'll specify one at a time -->
14+
<rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable" />
15+
<rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField" />
16+
<rule ref="rulesets/java/imports.xml/DuplicateImports" />
17+
<rule ref="rulesets/java/basic.xml/UnnecessaryConversionTemporary" />
18+
19+
<!-- We want to customize this rule a bit, change the message and raise
20+
the priority -->
21+
<rule ref="rulesets/java/basic.xml/EmptyCatchBlock" message="Must handle exceptions">
22+
<priority>2</priority>
23+
</rule>
24+
25+
<!-- Now we'll customize a rule's property value -->
26+
<rule ref="rulesets/java/codesize.xml/CyclomaticComplexity">
27+
<properties>
28+
<property name="reportLevel" value="5" />
29+
</properties>
30+
</rule>
31+
32+
<!-- We want everything from braces.xml except WhileLoopsMustUseBraces -->
33+
<rule ref="rulesets/java/braces.xml">
34+
<exclude name="WhileLoopsMustUseBraces" />
35+
</rule>
36+
37+
</ruleset>

0 commit comments

Comments
 (0)