Compiling PMD

First, you'll need to download and install Ant 1.6 and JUnit 3.8.1. I put the junit jar file in my ANT_HOME/lib/ directory and all was well, your mileage may vary.

Now you'll need to either check out the source code or download the latest source release. Assuming you've got the latest source release, unzip it to a directory:

        [tom@hal building]$ ls -l
        total 5716
        -rw-rw-r--    1 tom      tom       5837216 Jul 17 13:09 pmd-src-1.8.zip
        [tom@hal building]$ unzip -q pmd-src-1.8.zip
        [tom@hal building]$
    

Now cd down into the pmd/etc directory:

        [tom@hal building]$ cd pmd-1.8/etc/
        [tom@hal etc]$ ls -l | grep build.xml
        -rw-rw-r--    1 tom      tom          5736 Jun 19 15:36 build.xml
        [tom@hal etc]$
    

There's our Ant build file... let's compile!

        [tom@hal etc]$ ant compile
        Buildfile: build.xml

        compile:
            [mkdir] Created dir: /home/tom/tmp/building/pmd-1.8/build
            [javac] Compiling 417 source files to /home/tom/tmp/building/pmd-1.8/build
            [javac] Note: /home/tom/tmp/building/pmd-1.8/regress/test/net/sourceforge/pmd/
             RuleSetReadWriteTest.java uses or overrides a deprecated API.
            [javac] Note: Recompile with -deprecation for details.

        BUILD SUCCESSFUL
        Total time: 7 seconds
        [tom@hal etc]$
    

Notes:

  • The build.xml in the top-level directory is for Maven. Renaming it makes Maven do odd things; still investigating that.
  • The rules that have already been written are specified in the rulesets/ directory in the source distribution. They're also in the jar file that's included with both the source and binary distributions.

A paucity of detail, I'm sure you'd agree. If you think this document can be improved, please post here and let me know how. Thanks!