You must use the id tag when listing developers in your POM, otherwise NPE if 
using the changelog plugin
--------------------------------------------------------------------------------------------------------

         Key: MPCHANGELOG-76
         URL: http://jira.codehaus.org/browse/MPCHANGELOG-76
     Project: maven-changelog-plugin
        Type: Bug
 Environment: OSX 10.4.3, java 1.4.2._09, 
changelog-maven-plugin-2.0-beta-2-SNAPSHOT
    Reporter: Julian Wood


If you don't add an id tag to your developer in your pom (which is not 
required), and you configure a changelog report, then this piece of code will 
generate an NPE, because you can't add a null key to a Hashtable:

ChangeLog.java
--
 private Properties getUserList()
    {
        Properties userList = new Properties();
        
        Developer developer = null;
        for (Iterator i = getDevelopers().iterator(); i.hasNext();)
        {
            developer = (Developer) i.next();
            userList.put(developer.getId(), developer.getName());
        }
        
        return userList;
    }

--

[INFO] Generate "changelog" report.
[INFO] Generating changed sets xml to: 
/Volumes/Jaguar/Users/woodj/Documents/pmgt/pmgt/trunk/pmgt-jar/target/changelog.xml
[INFO] SCM Working Directory: 
/Volumes/Jaguar/Users/woodj/Documents/pmgt/pmgt/trunk/pmgt-jar/src/main/java
[INFO] SCM Command Line[0]: svn
[INFO] SCM Command Line[1]: log
[INFO] SCM Command Line[2]: -v
[INFO] SCM Command Line[3]: -r{2005-11-29}:{2005-10-29}
[INFO] ChangeSet between 2005-10-29 and 2005-11-29: 14 entries
[INFO] 
----------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] 
----------------------------------------------------------------------------
[INFO] null
[INFO] 
----------------------------------------------------------------------------
[DEBUG] Trace
java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:398)
        at org.apache.maven.changelog.ChangeLog.getUserList(ChangeLog.java:530)
        at 
org.apache.maven.changelog.ChangeLog.replaceAuthorIdWithName(ChangeLog.java:541)
        at org.apache.maven.changelog.ChangeLog.doExecute(ChangeLog.java:370)
        at 
org.apache.maven.changelog.ChangeLogReport.getChangeLog(ChangeLogReport.java:263)
        at 
org.apache.maven.changelog.ChangeLogReport.generateChangeSetsFromSCM(ChangeLogReport.java:218)
        at 
org.apache.maven.changelog.ChangeLogReport.getChangedSets(ChangeLogReport.java:198)
        at 
org.apache.maven.changelog.ChangeLogReport.executeReport(ChangeLogReport.java:173)
        at 
org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:117)
        at 
org.apache.maven.plugins.site.SiteMojo.generateReportsPages(SiteMojo.java:802)
        at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:301)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:519)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:469)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:448)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:301)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:137)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] 
----------------------------------------------------------------------------


Not sure if this should be fixed in the docs, or in code.

Thanks,

Julian


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to