Cached plugins are used, even when the specifically declared 
-------------------------------------------------------------

                 Key: MNG-3284
                 URL: http://jira.codehaus.org/browse/MNG-3284
             Project: Maven 2
          Issue Type: Bug
          Components: Dependencies, Plugins and Lifecycle
    Affects Versions: 2.0.7
            Reporter: Nigel Magnay
            Priority: Critical
         Attachments: pluginbug.tar

In the attached project, you can build module A, then build module B, but the 
top level aggregator project will fail at B.

The reason this happens is that maven seems to cache plugins. When B is built 
in isolation, all things are fine - but when built in aggregation, one of the 
plugins that it uses has already been instantiated, and so it uses that one. 
This is incorrect, since the declared version is different in B, and is relying 
on functionality not present in the version declared in A.

I have seen similar behaviour when a plugin relies on other plugins to get work 
done - all of a sudden a build mysteriously stops working, because of a 
completely unrelated plugin.

This is pretty painful because
- it's possible to get into a 'no solution', where one project relies on one 
behaviour so can't upgrade, and one project relies on new behaviour, so can't 
downgrade.
- you get builds that work OK in isolation, but not in their project. This is 
bad. Also builds tied together in bigger aggregator projects can fail in 
mysterious ways (mysterious because the user /has/ specified the plugin 
version, and maven has ignored them, or it's a plugin dependency that got there 
first)
- subtle build ordering changes can cause new failures (the example has B 
depend on A - but the bug might only manifest itself in certain build orders 
that change even when B and A don't).



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