[
http://jira.codehaus.org/browse/MNG-3284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nigel Magnay updated MNG-3284:
------------------------------
Attachment: mng3284-usingCachedPlugins.tar
Convert JUnit test to maven integration test
> 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:
> 0001-Initial-fix-to-see-if-we-can-have-1-version-of-a-pl.patch,
> maven-bug-2.tar, mng3284-usingCachedPlugins.tar, 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