diff options
Diffstat (limited to 'Library/Formula/pmd.rb')
| -rw-r--r-- | Library/Formula/pmd.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Library/Formula/pmd.rb b/Library/Formula/pmd.rb new file mode 100644 index 000000000..6d68c2dcf --- /dev/null +++ b/Library/Formula/pmd.rb @@ -0,0 +1,38 @@ +require "formula" + +class Pmd < Formula + homepage "http://pmd.sourceforge.net/" + url "https://downloads.sourceforge.net/project/pmd/pmd/5.1.0/pmd-src-5.1.0.zip" + sha1 "5dff0c4ca2853c464ce4634079809bdf54918923" + + def install + rm Dir["bin/*.{bat,cmd,dll,exe}"] + libexec.install Dir["*"] + bin.install_symlink "#{libexec}/bin/run.sh" => "pmd" + + # the run script references paths which don't account for the + # file structure of this brew. + inreplace "#{libexec}/bin/run.sh", "/../lib", "/../libexec/lib" + end + + def caveats; <<-EOS.undent + Use `pmd` instead of run.sh as described in the official documentation. + EOS + end + + test do + (testpath/"java/testClass.java").write <<-EOS.undent + public class BrewTestClass { + // dummy constant + public String SOME_CONST = "foo"; + + public boolean doTest () { + return true; + } + } + EOS + + system "#{bin}/pmd", "pmd", "-d", "#{testpath}/java", "-R", + "rulesets/java/basic.xml", "-f", "textcolor", "-l", "java" + end +end |
