Файл набора правил PMD - PullRequest
       20

Файл набора правил PMD

26 голосов
/ 20 апреля 2011

Я пытаюсь выяснить, где находится файл набора правил по умолчанию, имя файла набора правил по умолчанию и как мы добавляем в него наши собственные правила. Я пытался гуглить, но это меня смущает. Пока что я поместил плагин pmd в папку плагинов eclipse, и в настройках я вижу PMD.

Ответы [ 2 ]

24 голосов
/ 21 апреля 2011

Стандартный файл набора правил: *. Xml внутри pmd-bin-x.x.x.zip /.../ lib / pmd-x.x.x.jar / rulesets / , см. http://pmd.sourceforge.net/rules/index.html.

Файл набора правил по умолчанию Плагин Eclipse PMD находится внутри pmd ___. Jar в ваших {IDE} / plugins /..., но вы не должны вносить никаких изменений в этот файл. Добавление / редактирование правил в настройках Eclipse, любые изменения будут иметь приоритет над набором правил по умолчанию.

4 голосов
/ 14 сентября 2012

После долгого времени, связанного с Ant и PMD, я пришел к полному решению.Изменить по своему вкусу.


Устанавливает исходные каталоги, которые я использую.

<property name="doc" location="doc" />               <!-- Root for all documentation: -->
<property name="pmddoc" location="${doc}/pmddoc" />  <!-- PMD results -->

Это мое определение задачи, которое указывает на последнюю версию PMD вна этот раз, где я его храню.Он включает в себя сам JD-файл PMD (где хранятся все правила) и все зависимости 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>
...