デフォルトのルールセットファイルの場所、デフォルトのルールセットファイルの名前、独自のルールをそれに追加する方法を理解しようとしています。私はグーグルを試みましたが、それは私を混乱させるだけです。これまでのところ、pmdプラグインをEclipseプラグインフォルダー内に配置しており、設定でPMDを確認できます。
標準のルールセットファイルは*。xml内部pmd-bin-xxxZip /.../ lib/pmd -xxxjar/rulesets /、 http://pmd.sourceforge.net/rules/index.html を参照してください。
PMD Eclipse Pluginのデフォルトのルールセットファイルはpmd ___。jar{IDE}/plugins /...にありますが、そのファイルには変更を加えないでください。 ルールの追加/編集Eclipse設定では、変更はデフォルトのルールセットよりも優先されます。
AntとPMDを長い間いじった後、これが私が思いついた完全なソリューションです。あなた自身の好みに変更してください。
これにより、使用する初期ディレクトリが設定されます。
<property name="doc" location="doc" /> <!-- Root for all documentation: -->
<property name="pmddoc" location="${doc}/pmddoc" /> <!-- PMD results -->
これは私のタスク定義であり、保存されている現時点でのPMDの最新バージョンを指します。これには、PMD Jar自体(すべてのルールが格納されている)とすべてのPMDの依存関係も含まれます。
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
<classpath>
<fileset dir="C:\development\pmd-bin-5.0-alpha">
<include name="lib/*.jar"/> <!-- also includes pmd's file, which has all the rulesets I need. -->
</fileset>
</classpath>
</taskdef>
初期化では、必要に応じてドキュメントフォルダーを作成します。
<target name="init">
<mkdir dir="${pmddoc}" />
</target>
...そして最後に、PMDレポートをHTML形式で作成するためのターゲットを作成しました。ここにあります。
<target name="pmd" depends="init">
<pmd>
<formatter type="html" toFile="${pmddoc}/pmd_src_report.html" toConsole="true"/>
<ruleset>rulesets/Java/basic.xml</ruleset> <!-- references file in PMD's .jar -->
<!-- Files PMD will test. -->
<fileset dir="${src}">
<include name="**/*.Java"/> <!-- required to avoid firing off .aj errors. This ruleset doesn't support AspectJ. -->
</fileset>
</pmd>
</target>