[ 
http://jira.codehaus.org/browse/MNG-1323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_101223
 ] 

Brian Topping commented on MNG-1323:
------------------------------------

John's comment in http://jira.codehaus.org/browse/MNG-1323#action_50268 is 
correct, that "this is undoubtedly caused by Maven not disposing of plugin 
containers between project builds".  
DefaultPluginManager.ensurePluginContainerIsComplete() specifically skips 
plugin instantiation on the first line if it's already been initialized.

This is a huge problem in a build that I am working on.  Using a setup like:

root/pom.xml, modules: a, b
       a/pom.xml: define antrun, with antrun target that generates an ant Task
       b/pom.xml: define antrun, with <dependencies> section that includes the 
task built with a

There's no way to use the Task built in a if the container that built a is not 
disposed and reloaded with the new dependencies of b (which includes a).

This whole thing of using antrun is suboptimal, but it needs to be supported.  
The project that I'm currently porting uses XDoclet 1 very heavily, along with 
a forked version of Castor and some Texen tasks for a forked version of Torque. 
 The only way to reliably bring this across is to clean it up after things are 
stabilized, with 60+ projects at last count, there's just too much risk to try 
to create plugins before the build is operational.

JOHN:  have you tried to solve this before and run into problems?  This issue 
is coming up on two years old and has over 20 watchers.  I'd like to help, but 
from previous experience, I'd like to get as much information as I can about 
what the solution is up against.  It's an obvious performance violation to 
blindly dispose the container with every execution (there should probably be 
some kind of dependency signature comparison before disposing the container), 
but since this happens per-build rather than within a build, the impact should 
be minimal.  

Discuss! 

> Plugin extensions (dependencies) not resolved in reactor build
> --------------------------------------------------------------
>
>                 Key: MNG-1323
>                 URL: http://jira.codehaus.org/browse/MNG-1323
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0
>            Reporter: Kenney Westerhof
>             Fix For: 2.0.x
>
>         Attachments: MNG-1323-core-integration-tests.diff
>
>
> I've added a dependency on an Ant Task in 
> project/build/plugins/plugin[artifactId='maven-antrun-plugin']/dependencies/ 
> and run that anttask using the antrun plugin.
> When run from the project dir itself it runs fine.
> When running from the root of the project tree (reactor build, project one 
> level below root),
> antrun bails out because the taskdef can't be found (not on classpath).
> It looks like the dependency isn't resolved, or not added to the plugins' 
> classrealm.

-- 
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

        

Reply via email to