PMDの
なかなか
見つかった
最初に 見た サイト
PMDで
バグを 退治する
IBMの記事 PMD | TK Factory
ルールセットの日本語化を してくれている サイト
pom.xmlでの 記述方(maven-pmd-pluginの 記述のみの 抜粋です。 )
<!-- PMD --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.6</version> <configuration> <linkXRef>false</linkXRef> <sourceEncoding>UTF-8</sourceEncoding> <failOnViolation>false</failOnViolation> <targetJdk>1.8</targetJdk> <rulesets> <ruleset>rulesets/java/android.xml</ruleset> <ruleset>rulesets/java/basic.xml</ruleset> <ruleset>rulesets/java/braces.xml</ruleset> <ruleset>rulesets/java/clone.xml</ruleset> <ruleset>rulesets/java/codesize.xml</ruleset> <ruleset>rulesets/java/comments.xml</ruleset> <ruleset>rulesets/java/controversial.xml</ruleset> <!-- Removed misconfigured rule: LoosePackageCoupling cause: No packages or classes specified --> <!-- coupling.xml からはLoosePackageCouplingというRuleが削除されているらしく警告が出ます --> <ruleset>rulesets/java/coupling.xml</ruleset> <ruleset>rulesets/java/design.xml</ruleset> <ruleset>rulesets/java/empty.xml</ruleset> <ruleset>rulesets/java/finalizers.xml</ruleset> <ruleset>rulesets/java/imports.xml</ruleset> <ruleset>rulesets/java/j2ee.xml</ruleset> <ruleset>rulesets/java/javabeans.xml</ruleset> <ruleset>rulesets/java/junit.xml</ruleset> <ruleset>rulesets/java/logging-jakarta-commons.xml</ruleset> <ruleset>rulesets/java/logging-java.xml</ruleset> <ruleset>rulesets/java/migrating.xml</ruleset> <!-- migrating_to_13.xml, migrating_to_14.xml, migrating_to_15.xml の内容はmigrating.xml に包括されて定義されているので、特に記述不要ですが、一応記載 --> <ruleset>rulesets/java/migrating_to_13.xml</ruleset> <ruleset>rulesets/java/migrating_to_14.xml</ruleset> <ruleset>rulesets/java/migrating_to_15.xml</ruleset> <ruleset>rulesets/java/migrating_to_junit4.xml</ruleset> <ruleset>rulesets/java/naming.xml</ruleset> <ruleset>rulesets/java/optimizations.xml</ruleset> <ruleset>rulesets/java/strictexception.xml</ruleset> <ruleset>rulesets/java/strings.xml</ruleset> <ruleset>rulesets/java/sunsecure.xml</ruleset> <ruleset>rulesets/java/typeresolution.xml</ruleset> <ruleset>rulesets/java/unnecessary.xml</ruleset> <ruleset>rulesets/java/unusedcode.xml</ruleset> </rulesets> </configuration> <executions> <execution> <phase>verify</phase> <id>pmd</id> <goals> <goal>check</goal> </goals> </execution> <execution> <phase>process-sources</phase> <id>cpd</id> <goals> <goal>cpd-check</goal> </goals> </execution> </executions> </plugin>
migrating_to_14.xml,
migrating_to_15.xml の
実際の 開発で、 全ての ルールを 有効化して チェックするか?
実際の
※ルールセットを
幾つかGithub の
- ルール単位に
全て 記述して、 コメントアウトしていった 形式の ruleset.xml - xml単位に
記述して、 適用したくない ルールのみexcludes記述を していった 形式の ruleset.xml
がありました。
個人的には、
pmdが
人に
以上です。
- 参考サイト
- pmd/all-java.xml at master · pmd/pmd
github のpmdプロジェクト内に ある 全ての javaルールを 適用する ための ruleset.xmlファイル - pmd/pmd-java/src/main/resources/rulesets/java at master · pmd/pmd
pmdが内包する ルールセット定義ファイル一覧は、 こちらを 参照するのが 良いと 思います。 - android-boilerplate/pmd-ruleset.xml at master · ribot/android-boilerplate
GitHubのプロジェクトの ruleset.xml その 1 - mahout/mahout-pmd-ruleset.xml at master · apache/mahout
GitHubのプロジェクトの ruleset.xml その 2 - GDSSecurity/GDS-PMD-Security-Rules: Custom security ruleset for the popular Java static analysis tool PMD.
これは気になったので、 記載。 セキュリティチェック用の PMDルールセットの プロジェクトが ありました。
- pmd/all-java.xml at master · pmd/pmd
コメント