Menu

#1155 maven pmd plugin does not like empty rule sets

PMD-5.1.0
closed
nobody
None
PMD
3-Major
Bug
2015-02-24
2013-11-25
hgschmie
No

This is our pmd plugin configuration:

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.0.1</version>
          <dependencies>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd</artifactId>
              <version>5.0.5</version>
            </dependency>
          </dependencies>
          <configuration>
            <skip>false</skip>
            <failOnViolation>true</failOnViolation>
            <failurePriority>4</failurePriority>
            <targetJdk>1.7</targetJdk>
            <sourceEncoding>UTF-8</sourceEncoding>
            <minimumTokens>100</minimumTokens>
            <excludes>
              <exclude>**/*Bean.java</exclude>
              <exclude>**/generated/*.java</exclude>
            </excludes>
            <excludeRoots>
              <excludeRoot>target/generated-sources/stubs</excludeRoot>
            </excludeRoots>
            <rulesets/>
          </configuration>
          <executions>
            <execution>
              <id>default</id>
              <phase>verify</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

note that by default we have no rulesets configured.

this causes

[DEBUG] Searching for files in directory /home/henning/fb/src/nifty/nifty-client/src/main/java
[WARNING] Failure executing PMD: null
java.lang.NullPointerException
        at net.sourceforge.pmd.PMD.removeBrokenRules(PMD.java:102)
        at net.sourceforge.pmd.PMD.setupReport(PMD.java:79)
        at net.sourceforge.pmd.processor.MonoThreadProcessor.processFiles(MonoThreadProcessor.java:47)
        at net.sourceforge.pmd.PMD.processFiles(PMD.java:271)
        at org.apache.maven.plugin.pmd.PmdReport.generateReport(PmdReport.java:296)
        at org.apache.maven.plugin.pmd.PmdReport.execute(PmdReport.java:194)
        at org.apache.maven.plugin.pmd.PmdReport.executeReport(PmdReport.java:168)
        at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190)
        at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:99)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:364)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:198)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

when running mvn pmd:check using maven 3.1.1 on JDK 1.7.0_45 on Linux.

Discussion

  • Andreas Dangel

    Andreas Dangel - 2013-12-23
    • status: open --> closed
    • Milestone: PMD-5.0.5 --> PMD-5.1.0
     
  • Andreas Dangel

    Andreas Dangel - 2013-12-23

    Thank you for the pull request.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.