Initial commit
This commit is contained in:
commit
633c1dfb24
4 changed files with 255 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
.idea
|
||||
target
|
15
kemitix-pmd-ruleset.iml
Normal file
15
kemitix-pmd-ruleset.iml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
42
pom.xml
Normal file
42
pom.xml
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?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>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>kemitix-parent</artifactId>
|
||||
<version>5.0.3</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>kemitix-pmd-ruleset</artifactId>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
|
||||
<name>Kemitix PMD Ruleset</name>
|
||||
|
||||
<properties>
|
||||
<tiles-maven-plugin.version>2.10</tiles-maven-plugin.version>
|
||||
<kemitix-tiles.version>0.4.1</kemitix-tiles.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.repaint.maven</groupId>
|
||||
<artifactId>tiles-maven-plugin</artifactId>
|
||||
<version>${tiles-maven-plugin.version}</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<tiles>
|
||||
<tile>net.kemitix.tiles:maven-plugins:${kemitix-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:enforcer-legacy:${kemitix-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:release:${kemitix-tiles.version}</tile>
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
196
src/main/resources/net/kemitix/pmd/java.xml
Normal file
196
src/main/resources/net/kemitix/pmd/java.xml
Normal file
|
@ -0,0 +1,196 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<ruleset name="Custom Rules"
|
||||
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
|
||||
http://pmd.sourceforge.net/ruleset/2.0.0 ">
|
||||
<description>Kemitix PMD Ruleset Java</description>
|
||||
|
||||
<!-- Best Practices -->
|
||||
|
||||
<rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod"/>
|
||||
<rule ref="category/java/bestpractices.xml/AccessorClassGeneration"/>
|
||||
<rule ref="category/java/bestpractices.xml/AccessorMethodGeneration"/>
|
||||
<rule ref="category/java/bestpractices.xml/ArrayIsStoredDirectly"/>
|
||||
<rule ref="category/java/bestpractices.xml/AvoidPrintStackTrace"/>
|
||||
<rule ref="category/java/bestpractices.xml/AvoidReassigningParameters"/>
|
||||
<rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/>
|
||||
<rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/>
|
||||
<rule ref="category/java/bestpractices.xml/CheckResultSet"/>
|
||||
<rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
|
||||
<rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
|
||||
|
||||
<!-- JUnit4 -->
|
||||
<rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/>
|
||||
<rule ref="category/java/bestpractices.xml/JUnit4SuitesShouldUseSuiteAnnotation"/>
|
||||
<rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseAfterAnnotation"/>
|
||||
<rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseBeforeAnnotation"/>
|
||||
<rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseTestAnnotation"/>
|
||||
<rule ref="category/java/bestpractices.xml/JUnitTestContainsTooManyAsserts">
|
||||
<properties>
|
||||
<property name="maximumAsserts" value="3"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/bestpractices.xml/JUnitUseExpected"/><!-- better yet - use AssertJ -->
|
||||
|
||||
<rule ref="category/java/bestpractices.xml/LooseCoupling"/>
|
||||
<rule ref="category/java/bestpractices.xml/MethodReturnsInternalArray"/>
|
||||
<rule ref="category/java/bestpractices.xml/OneDeclarationPerLine">
|
||||
<properties>
|
||||
<property name="strictMode" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInCaseInsensitiveComparisons"/>
|
||||
<rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInComparisons"/>
|
||||
<rule ref="category/java/bestpractices.xml/PreserveStackTrace"/>
|
||||
<rule ref="category/java/bestpractices.xml/ReplaceEnumerationWithIterator"/>
|
||||
<rule ref="category/java/bestpractices.xml/ReplaceHashtableWithMap"/>
|
||||
<rule ref="category/java/bestpractices.xml/ReplaceVectorWithList"/>
|
||||
<rule ref="category/java/bestpractices.xml/SwitchStmtsShouldHaveDefault"/>
|
||||
<rule ref="category/java/bestpractices.xml/SystemPrintln"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedFormalParameter">
|
||||
<properties>
|
||||
<property name="checkAll" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedImports"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedLocalVariable"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
|
||||
<rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/>
|
||||
|
||||
<!-- Better yet - use AssertJ -->
|
||||
<rule ref="category/java/bestpractices.xml/UseAssertEqualsInsteadOfAssertTrue"/>
|
||||
<rule ref="category/java/bestpractices.xml/UseAssertNullInsteadOfAssertTrue"/>
|
||||
<rule ref="category/java/bestpractices.xml/UseAssertSameInsteadOfAssertTrue"/>
|
||||
<rule ref="category/java/bestpractices.xml/UseAssertTrueInsteadOfAssertEquals"/>
|
||||
|
||||
<rule ref="category/java/bestpractices.xml/UseCollectionIsEmpty"/>
|
||||
<rule ref="category/java/bestpractices.xml/UseVarargs"/>
|
||||
|
||||
<!-- Code Style -->
|
||||
<rule ref="category/java/codestyle.xml/AbstractNaming">
|
||||
<properties>
|
||||
<property name="strict" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/codestyle.xml/AvoidDollarSigns"/>
|
||||
<rule ref="category/java/codestyle.xml/AvoidProtectedFieldInFinalClass"/>
|
||||
<rule ref="category/java/codestyle.xml/AvoidProtectedMethodInFinalClassNotExtending"/>
|
||||
<rule ref="category/java/codestyle.xml/AvoidUsingNativeCode"/>
|
||||
<rule ref="category/java/codestyle.xml/BooleanGetMethodName">
|
||||
<properties>
|
||||
<property name="checkParameterizedMethods" value="true"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/codestyle.xml/CallSuperInConstructor"/>
|
||||
<rule ref="category/java/codestyle.xml/ClassNamingConventions"/>
|
||||
<rule ref="category/java/codestyle.xml/CommentDefaultAccessModifier"/>
|
||||
<rule ref="category/java/codestyle.xml/ConfusingTernary"/>
|
||||
<rule ref="category/java/codestyle.xml/DefaultPackage"/>
|
||||
<rule ref="category/java/codestyle.xml/DontImportJavaLang"/>
|
||||
<rule ref="category/java/codestyle.xml/DuplicateImports"/>
|
||||
<rule ref="category/java/codestyle.xml/EmptyMethodInAbstractClassShouldBeAbstract"/>
|
||||
<rule ref="category/java/codestyle.xml/ExtendsObject"/>
|
||||
<rule ref="category/java/codestyle.xml/FieldDeclarationsShouldBeAtStartOfClass">
|
||||
<properties>
|
||||
<property name="ignoreAnonymousClassDeclarations" value="false"/>
|
||||
<property name="ignoreEnumDeclarations" value="false"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/codestyle.xml/ForLoopShouldBeWhileLoop"/>
|
||||
<rule ref="category/java/codestyle.xml/ForLoopsMustUseBraces"/>
|
||||
<rule ref="category/java/codestyle.xml/GenericsNaming"/>
|
||||
<rule ref="category/java/codestyle.xml/IfElseStmtsMustUseBraces"/>
|
||||
<rule ref="category/java/codestyle.xml/IfStmtsMustUseBraces"/>
|
||||
<rule ref="category/java/codestyle.xml/LocalVariableCouldBeFinal"/>
|
||||
<rule ref="category/java/codestyle.xml/LongVariable"/>
|
||||
<rule ref="category/java/codestyle.xml/MethodArgumentCouldBeFinal"/>
|
||||
<rule ref="category/java/codestyle.xml/MethodNamingConventions"/>
|
||||
<rule ref="category/java/codestyle.xml/NoPackage"/>
|
||||
<rule ref="category/java/codestyle.xml/OnlyOneReturn"/>
|
||||
<rule ref="category/java/codestyle.xml/PackageCase"/>
|
||||
<rule ref="category/java/codestyle.xml/PrematureDeclaration"/>
|
||||
<rule ref="category/java/codestyle.xml/ShortClassName"/>
|
||||
<rule ref="category/java/codestyle.xml/ShortMethodName"/>
|
||||
<rule ref="category/java/codestyle.xml/ShortVariable"/>
|
||||
<rule ref="category/java/codestyle.xml/SuspiciousConstantFieldName"/>
|
||||
<rule ref="category/java/codestyle.xml/TooManyStaticImports"/><!-- to review -->
|
||||
<rule ref="category/java/codestyle.xml/UnnecessaryConstructor"/>
|
||||
<rule ref="category/java/codestyle.xml/UnnecessaryFullyQualifiedName"/>
|
||||
<rule ref="category/java/codestyle.xml/UnnecessaryLocalBeforeReturn"/>
|
||||
<rule ref="category/java/codestyle.xml/UnnecessaryModifier"/>
|
||||
<rule ref="category/java/codestyle.xml/UnnecessaryReturn"/>
|
||||
<rule ref="category/java/codestyle.xml/UselessParentheses"/>
|
||||
<rule ref="category/java/codestyle.xml/UselessQualifiedThis"/>
|
||||
<rule ref="category/java/codestyle.xml/VariableNamingConventions"><!-- to review --></rule>
|
||||
<rule ref="category/java/codestyle.xml/WhileLoopsMustUseBraces"/>
|
||||
|
||||
<!-- Design -->
|
||||
<rule ref="category/java/design.xml/AbstractClassWithoutAnyMethod"/>
|
||||
<rule ref="category/java/design.xml/AvoidCatchingGenericException"/>
|
||||
<rule ref="category/java/design.xml/AvoidDeeplyNestedIfStmts"/>
|
||||
<rule ref="category/java/design.xml/AvoidRethrowingException"/>
|
||||
<rule ref="category/java/design.xml/AvoidThrowingNewInstanceOfSameException"/>
|
||||
<rule ref="category/java/design.xml/AvoidThrowingNullPointerException"/>
|
||||
<rule ref="category/java/design.xml/AvoidThrowingRawExceptionTypes"/>
|
||||
<rule ref="category/java/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal"/>
|
||||
<rule ref="category/java/design.xml/CollapsibleIfStatements"/>
|
||||
<rule ref="category/java/design.xml/CouplingBetweenObjects"/>
|
||||
<rule ref="category/java/design.xml/CyclomaticComplexity"/>
|
||||
<rule ref="category/java/design.xml/CyclomaticComplexity">
|
||||
<properties>
|
||||
<property name="methodReportLevel" value="5"/>
|
||||
<property name="classReportLevel" value="20"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/DataClass" />
|
||||
<rule ref="category/java/design.xml/DoNotExtendJavaLangError" />
|
||||
<rule ref="category/java/design.xml/ExceptionAsFlowControl" />
|
||||
<rule ref="category/java/design.xml/ExcessiveClassLength" >
|
||||
<properties>
|
||||
<property name="minimum" value="500"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/ExcessiveImports" />
|
||||
<rule ref="category/java/design.xml/ExcessiveMethodLength" >
|
||||
<properties>
|
||||
<property name="minimum" value="30"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/ExcessiveParameterList" >
|
||||
<properties>
|
||||
<property name="minimum" value="7"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/ExcessivePublicCount" >
|
||||
<properties>
|
||||
<property name="minimum" value="30"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/FinalFieldCouldBeStatic" />
|
||||
<rule ref="category/java/design.xml/GodClass" />
|
||||
<rule ref="category/java/design.xml/ImmutableField" />
|
||||
<rule ref="category/java/design.xml/LawOfDemeter" /><!-- Can this cope with Streams -->
|
||||
<rule ref="category/java/design.xml/LogicInversion" />
|
||||
<rule ref="category/java/design.xml/NcssCount" />
|
||||
<rule ref="category/java/design.xml/NPathComplexity" >
|
||||
<properties>
|
||||
<property name="reportLevel" value="5"/>
|
||||
</properties>
|
||||
</rule>
|
||||
<rule ref="category/java/design.xml/SignatureDeclareThrowsException" />
|
||||
<rule ref="category/java/design.xml/SimplifiedTernary" />
|
||||
<rule ref="category/java/design.xml/SimplifyBooleanAssertion" />
|
||||
<rule ref="category/java/design.xml/SimplifyBooleanExpressions" />
|
||||
<rule ref="category/java/design.xml/SimplifyBooleanReturns" />
|
||||
<rule ref="category/java/design.xml/SimplifyConditional" />
|
||||
<rule ref="category/java/design.xml/SingularField" />
|
||||
<rule ref="category/java/design.xml/SwitchDensity" />
|
||||
<rule ref="category/java/design.xml/TooManyFields" />
|
||||
<rule ref="category/java/design.xml/TooManyMethods" />
|
||||
<rule ref="category/java/design.xml/UselessOverridingMethod" />
|
||||
<rule ref="category/java/design.xml/UseObjectForClearerAPI" />
|
||||
<rule ref="category/java/design.xml/UseUtilityClass" />
|
||||
|
||||
</ruleset>
|
Loading…
Reference in a new issue