[XDoclet-JIRA] Commented: (XDT-1435) Module list gets reset but DocletTask.subtaskMap isn't

"Kiran Keshav (JIRA)" <[email protected]>
Newsgroups gmane.comp.java.xdoclet.devel
Message-ID <[email protected]>
    [ http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1435?page=comments#action_17523 ] 

Kiran Keshav commented on XDT-1435:
-----------------------------------

Thanks, Kenney.  Feel free to delete that comment and I'll post elsewhere (I don't have delete rights).

That stacktrace occurred when building the:
XDoclet head
xdoclet-maven-plugin head using XDoclet that was built (xdoclet-1.3-SNAPSHOT.jar - both jar files & modules) - I changed the xdoclet versions in pom.xml of the xdoclet-maven-plugin to -1.3-SNAPSHOT.

When building the xdoclet-maven-plugin from the source, using xdoclet-1.2.3.jar, and running mvn install on my project I get:

org.apache.maven.lifecycle.LifecycleExecutionException: Error executing ant tasks
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:556)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
        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:585)
        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)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error executing ant tasks
        at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:109)
        at org.codehaus.mojo.xdoclet.XDocletMojo.execute(XDocletMojo.java:102)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:531)
        ... 16 more
Caused by: java.lang.NullPointerException
        at org.apache.maven.plugin.antrun.AbstractAntMojo.getPathFromArtifacts(AbstractAntMojo.java:116)
        at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:92)
        ... 19 more

This error is what had initially led me to this post, based on the comments here:

http://jira.codehaus.org/browse/MOJO-223

Thanks again for your help.

> Module list gets reset but DocletTask.subtaskMap isn't
> ------------------------------------------------------
>
>          Key: XDT-1435
>          URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1435
>      Project: XDoclet
>         Type: Bug

>   Components: Core
>     Versions: 1.2.3
>  Environment: windows/all
>     Reporter: Kenney Westerhof
>     Assignee: xdoclet-devel (Use for new issues)

>
>
> This is somewhat related to XDT-879.
> In version 1.2.3, ModuleFinder.resetFoundModules is reset,
> but the DocletTask.subtaskMap and subtaskNameMap are not.
> This results in re-scanning for modules for each DocletTask,
> which is good.  However, when you use ejbdoclet and webdoclet
> together, you get an AMBIGUOUS_SUBTASK_DEFINITION error
> for 'service-endpoint', which is in both the ejb and the web
> module (ServiceEndpointSubTask).
> This is because when one task is finished (say ejbdoclet) and
> the next one is initializing (say webdoclet), the static subtaskMap is still there containing the subtasks of ejbdoclet (which contains 'service-endpoint'.
> DocletTask.registerModules then sees the duplicate taskname and different packages for the classes, and bails.
> Btw, a fix is to set subtaskMap and subtaskNameMap to null - works fine!
> The strange thing is that this doesn't normally occur in Ant,
> but i discovered this when running a custom app embedding ant
> (my maven 2 implementation of the xdoclet plugin). 
> By the slight chance that this is not a bug, can someone tell me
> how to do it correctly then? See http://www.neonics.com/projects/maven-xdoclet-plugin/ for the source.

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



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.