You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Chris Wesdorp (JIRA)" <ji...@codehaus.org> on 2014/01/21 11:03:50 UTC

[jira] (MCHECKSTYLE-205) NPE in CheckstyleReportGenerator.doFilesSummary:654 version 2.11 regression

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

Chris Wesdorp commented on MCHECKSTYLE-205:
-------------------------------------------

The workaround that worked for me is to disable the inclusion of test resources. This also works for the OpenGamma project above.

{noformat}
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven-checkstyle-plugin.version}</version>
	<configuration>
		<includeTestResources>false</includeTestResources>
	</configuration>
      </plugin
{noformat}

It might have to do with the default configuration of the plugin.
* includeTestResources is true by default
* includeTestSourceDirectory is false by default

The problem is in the CheckstyleReportListener (or related). This class keeps track of the included source directories but for some reason the test resource folders are not added here. In the method fileStarted(AuditEvent) it gets a file that is not in the sourceDirectories list and leaves currentFile to null causing an NullPointerException in the fileFinished(AuditEvent).









                
> NPE in CheckstyleReportGenerator.doFilesSummary:654 version 2.11 regression
> ---------------------------------------------------------------------------
>
>                 Key: MCHECKSTYLE-205
>                 URL: https://jira.codehaus.org/browse/MCHECKSTYLE-205
>             Project: Maven Checkstyle Plugin
>          Issue Type: Bug
>    Affects Versions: 2.11, 2.12
>         Environment: maven-checkstyle-plugin v2.11 and 2.12-SNAPSHOT (as of 12/5/13). Windows 7, JDK7.45 64 bit, maven 3.1
>            Reporter: Bob Fields
>         Attachments: CheckstyleResults.java.patch
>
>
> This worked in release 2.10, no longer works in 2.11. Running mvn site against a large project with a parent pom with many subprojects (though no code in the parent project) (andromda v3.5-SNAPSHOT, from sourceforge). Maven output:
> [INFO] Generating "Checkstyle" report    --- maven-checkstyle-plugin:2.12-SNAPSHOT
> [INFO] Starting audit...
> ... About 6000 files ...
> Audit done.
> [INFO] There are 4777 checkstyle errors.
> .... And no additional troubleshooting information, even in debug mode ...
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project andromda: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.3:site failed. NullPointerException -> [Help 1]
> Caused by: java.lang.NullPointerException
> 	at java.lang.String.compareTo(String.java:1139)
> 	at java.lang.String.compareTo(String.java:108)
> 	at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:290)
> 	at java.util.ComparableTimSort.sort(ComparableTimSort.java:171)
> 	at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
> 	at java.util.Arrays.sort(Arrays.java:472)
> 	at java.util.Collections.sort(Collections.java:155)
> 	at org.apache.maven.plugin.checkstyle.CheckstyleReportGenerator.doFilesSummary(CheckstyleReportGenerator.java:654)
> 	at org.apache.maven.plugin.checkstyle.CheckstyleReportGenerator.generateReport(CheckstyleReportGenerator.java:134)
> I built version 2.12-SNAPSHOT locally, the NPE still exists. Running with version 2.10 - no NPE. The code attempts to run Collections.sort on a null key in the ArrayList from checkstyle results.getFiles().keySet(). This area of code was not modified in any of the previous revisions going into release 2.11. The results Collection is populated from DefaultCheckstyleExecutor.executeChecks calling sinkListener.addDirectory, but that method code also did not change over the last year.
> This bug prevents us from using the latest checkstyle version. If the stack trace isn't enough to be able to add an extra null value check in executeChecks, I could run in debug mode and figure where the difference in values from 2.10 and 2.11 comes from, but it may be a little while before I can get to that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira