[ 
https://jira.codehaus.org/browse/MCHECKSTYLE-287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=365558#comment-365558
 ] 

Andreas Höhmann edited comment on MCHECKSTYLE-287 at 3/23/15 7:29 AM:
----------------------------------------------------------------------

I fixed the "effect" in my project ... 

I have define the checkstyle plugin configuration/depdencies via 
plugin-management in a "parent-module" ...

{code:xml}
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-checkstyle-plugin</artifactId>
   <version>${maven.checkstyle.plugin.version}</version>
   <configuration>
      <configLocation>checkstyle/checkstyle-5.0.xml</configLocation>
      <aggregate>false</aggregate>
   </configuration>
   <dependencies>
      <dependency>
         <groupId>com.puppycrawl.tools</groupId>
         <artifactId>checkstyle</artifactId>
         <version>6.4</version>
      </dependency>
      <dependency>
        <groupId>com.siemens.spice</groupId>
        <artifactId>build-tools</artifactId>
        <version>${build.tools.version}</version> <!-- the module which 
contains the "checkstyle/checkstyle-5.0.xml" -->
      </dependency>
   </dependencies>
</plugin>
{code}

also the parent-pom contains the site-plugin configuration ...

{code:xml}
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-site-plugin</artifactId>
   <configuration>
      <reportPlugins combine.children="append">
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-checkstyle-plugin</artifactId>
              <configuration>
                <configLocation>checkstyle/checkstyle-5.0.xml</configLocation>
                <aggregate>false</aggregate>
              </configuration>
          </plugin>
      </reportPlugins>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>com.siemens.spice</groupId>
      <artifactId>build-tools</artifactId>
       <version>${build.tools.version}</version> <!-- build-tools contains also 
some site-resources -->
    </dependency>
   </dependencies>
 </plugin>
{code}

then i have 2 submodules:

A) web application 

    mvn site:site is working

B) jar module

     mvn site:site crashed

The only difference is .... *tatata* .. A) is using the checkstyle plugin again 
for additional checks.

So I tried to add this to the B) plugins ...

{code:xml}
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
{code}
and ... it works :-)


was (Author: ahoehma):
I fixed the "effect" in my project ... 

I have define the checkstyle plugin configuration/depdencies via 
plugin-management in a "parent-module" ...

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-checkstyle-plugin</artifactId>
   <version>${maven.checkstyle.plugin.version}</version>
   <configuration>
      <configLocation>checkstyle/checkstyle-5.0.xml</configLocation>
      <aggregate>false</aggregate>
   </configuration>
   <dependencies>
      <dependency>
         <groupId>com.puppycrawl.tools</groupId>
         <artifactId>checkstyle</artifactId>
         <version>6.4</version>
      </dependency>
      <dependency>
        <groupId>com.siemens.spice</groupId>
        <artifactId>build-tools</artifactId>
        <version>${build.tools.version}</version> <!-- the module which 
contains the "checkstyle/checkstyle-5.0.xml" -->
      </dependency>
   </dependencies>
</plugin>

also the parent-pom contains the site-plugin configuration ...

...
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-site-plugin</artifactId>
   <configuration>
      <reportPlugins combine.children="append">
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-checkstyle-plugin</artifactId>
              <configuration>
                <configLocation>checkstyle/checkstyle-5.0.xml</configLocation>
                <aggregate>false</aggregate>
              </configuration>
          </plugin>
      </reportPlugins>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>com.siemens.spice</groupId>
      <artifactId>build-tools</artifactId>
       <version>${build.tools.version}</version> <!-- build-tools contains also 
some site-resources -->
    </dependency>
   </dependencies>
 </plugin>

then i have 2 submodules:

A) web application 

    mvn site:site is working

B) jar module

     mvn site:site crashed

The only difference is .... *tatata* .. A) is using the checkstyle plugin again 
for additional checks.

So I tried to add this to the B) plugins ...

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>

and ... it works :-)

> checkstyle report throws NPE
> ----------------------------
>
>                 Key: MCHECKSTYLE-287
>                 URL: https://jira.codehaus.org/browse/MCHECKSTYLE-287
>             Project: Maven Checkstyle Plugin
>          Issue Type: Bug
>    Affects Versions: 2.13, 2.14
>            Reporter: Thomas Scheffler
>
> I don't know what triggers this bug. Somehow 
> org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.collectArtifacts(String)
>  produces a List which contains the null object. And therefor an exception is 
> thrown here (2.14):
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project 
> oaipmh: Execution default-site of goal 
> org.apache.maven.plugins:maven-site-plugin:3.3:site failed. 
> NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on 
> project oaipmh: Execution default-site of goal 
> org.apache.maven.plugins:maven-site-plugin:3.3:site failed.
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
>       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:116)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
>       at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
>       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)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution 
> default-site of goal org.apache.maven.plugins:maven-site-plugin:3.3:site 
> failed.
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>       ... 19 more
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.maven.plugin.checkstyle.exec.DefaultCheckstyleExecutor.configureResourceLocator(DefaultCheckstyleExecutor.java:852)
>       at 
> org.apache.maven.plugin.checkstyle.exec.DefaultCheckstyleExecutor.executeCheckstyle(DefaultCheckstyleExecutor.java:102)
>       at 
> org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.executeReport(AbstractCheckstyleReport.java:474)
>       at 
> org.apache.maven.plugin.checkstyle.CheckstyleReport.executeReport(CheckstyleReport.java:156)
>       at 
> org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:255)
>       at 
> org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:219)
>       at 
> org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:319)
>       at 
> org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:135)
>       at 
> org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175)
>       at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
>       ... 20 more
> {noformat}
> Looking at the code, you see a null check is done for the list, bit not for 
> elements of that list:
> {noformat}
>         // MCHECKSTYLE-225: load licenses from additional artifacts, not from 
> classpath
>         if ( additionalArtifacts != null )
>         {
>             for ( Artifact licenseArtifact : additionalArtifacts )
>             {
>                 try
>                 {
>                     resourceManager.addSearchPath( "jar", "jar:" + 
> licenseArtifact.getFile().toURI().toURL() );
>                 }
>                 catch ( MalformedURLException e )
>                 {
>                     // noop
>                 }
>             }
>         }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to