##### For example

- Run PMD on a Sourceforge project

## Compiling PMD

First, you'll need to download and install Ant 1.6 and JUnit 3.8.2. 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-3.7.zip
            [tom@hal building]$ unzip -q pmd-src-3.7.zip
            [tom@hal building]$

Now cd down into the `pmd/bin` directory:

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

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

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

            compile:
                [javac] Compiling 509 source files to /home/tom/data/pmd/pmd/build

            BUILD SUCCESSFUL
            Total time: 6 seconds
            [tom@hal bin]$

Notes:

- There's also a build.xml in the top-level directory, but it's for Maven. Renaming it made Maven do odd things; anybody know how to get around 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!