Introduction to pmd (#972)

* initial check for introduction to pmd

* change name to static-analysis

* move it to static-analysis
This commit is contained in:
tristanzhou 2017-01-08 23:21:03 +13:00 committed by Eugen
parent 8dc3487b67
commit e8a9b60862
3 changed files with 79 additions and 0 deletions

30
static-analysis/pom.xml Normal file
View File

@ -0,0 +1,30 @@
<?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>com.baeldung</groupId>
<artifactId>static-analysis</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
</dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.7</version>
<configuration>
<rulesets>
<ruleset>rulesets/java/braces.xml</ruleset>
<ruleset>rulesets/java/naming.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,12 @@
package com.baeldung.pmd;
public class Cnt {
public int d(int a, int b) {
if (b == 0)
return Integer.MAX_VALUE;
else
return a / b;
}
}

View File

@ -0,0 +1,37 @@
<?xml version="1.0"?>
<ruleset name="Custom ruleset" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
This ruleset checks my code for bad stuff
</description>
<!-- We'll use the entire 'strings' ruleset -->
<rule ref="rulesets/java/strings.xml" />
<!-- Here's some rules we'll specify one at a time -->
<rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable" />
<rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField" />
<rule ref="rulesets/java/imports.xml/DuplicateImports" />
<rule ref="rulesets/java/basic.xml/UnnecessaryConversionTemporary" />
<!-- We want to customize this rule a bit, change the message and raise
the priority -->
<rule ref="rulesets/java/basic.xml/EmptyCatchBlock" message="Must handle exceptions">
<priority>2</priority>
</rule>
<!-- Now we'll customize a rule's property value -->
<rule ref="rulesets/java/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="5" />
</properties>
</rule>
<!-- We want everything from braces.xml except WhileLoopsMustUseBraces -->
<rule ref="rulesets/java/braces.xml">
<exclude name="WhileLoopsMustUseBraces" />
</rule>
</ruleset>