Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.0-rc3
-
Fix Version/s: 1.0-rc3
-
Component/s: None
-
Labels:None
-
Environment:Windows XP, JDK 1.4.2_03
-
Number of attachments :
Description
I have a project consisting of multiple subprojects. One of these subprojects includes a plugin which is built and installed via "plugin:install" during my project build. A goal is then used from this previously installed plugin to build the rest of the project's subprojects (in other words other subprojects have a dependency on this plugin which is installed during the build process).
Using maven-rc1 this used to be no problem, but as of yesterday (I checked out and built MAVEN-1_0_Branch) using rc3 this fails. If the plugin doesn't already exist in the $
{maven.home}/plugins directory things work fine (if I delete the plugin out before the build starts), the plugin is installed and other subprojects needing to use goal(s) from this plugin find it and the build completes successfully. But if the plugin already exists in ${maven.home}/plugins, I'll get something like below telling me it can't parse the project.xml, when it fact that file does exist, or I sometimes get a message telling me the plugin.jelly from that plugin can't be found:
BUILD FAILED
File...... file:/H:/Documents and Settings/Administrator/.maven/plugins/maven-multiproject-plugin-1.2/plugin.jelly
Element... maven:reactor
Line...... 202
Column.... 9
Unable to obtain goal [multiproject:install-callback] – file:/I:/java/eclipse/andromda-all/metafacades/uml/maven.xml:17
:42: <attainGoal> Error parsing project.xml 'H:\Documents and Settings\Administrator\.maven\plugins\maven-andromda-plugi
n-3.0-SNAPSHOT\project.xml'
Total time: 23 seconds
I'm somewhat surprised this could have ever worked, and a bit confused as to what is actually happening. What is the behaviour under RC2? Some improvements to the cache happened on CVS since, but I would think it was the plugin loading changes in RC2 that changed the behaviour.
plugin installation is not seamless and I would recommend using plugin:install as part of a build process. What I think you want is to build the plugin, copy it to the repository, the load it via a plugin dependency? Unfortunately this is not what plugin:install does at present.