28

デフォルトのルールセット ファイルの場所、デフォルトのルールセット ファイルの名前、独自のルールを追加する方法を把握しようとしています。私はグーグルで検索しようとしましたが、それは私を混乱させるだけです. これまでのところ、pmd プラグインを eclipse plugins フォルダー内に配置し、設定で PMD を確認できます。

4

2 に答える 2

26

標準のルールセットファイルは、pmd-bin-xxxzip /.../ lib / pmd-xxxjar / rulesets/内の*.xmlです。http: //pmd.sourceforge.net/rules/index.htmlを参照してください。

PMD Eclipseプラグインのデフォルトのルールセットファイルは、{IDE} / plugins / ...のpmd___。jar内にありますが、そのファイルに変更を加えないでください。Eclipse設定でルールを追加/編集します。変更はデフォルトのルールセットよりも優先されます。

于 2011-04-21T02:51:35.243 に答える
4

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>

...そして最後に、HTML形式でPMDレポートを作成するためのターゲットを作成しました。ここにあります。

<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>
于 2012-09-14T15:54:48.643 に答える