geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject [M1] Plugin hell, help desperately needed
Date Wed, 07 Dec 2005 17:36:12 GMT
In the geronimo project we are experiencing severe problems with our 
build related to plugins.  Any advice on how to improve this situation 
would be appreciated.

Both maven 1.0.2 and 1.1-b2 are being used to build.

We have 5 plugins that are built as part of the build and used in the 
build.  The build is currently structured as a sequence of reactor 
calls: the plugins are built in step 1 and used in steps 1, 2, 4, and 
5.

Currently the maven.xml for each plugin looks like this:

<project default="plugin:install">
     <goal name="default">
         <attainGoal name="plugin:install"/>
     </goal>

     <goal name="plugin:install" prereqs="plugin:plugin">
         <attainGoal name="plugin:install-now"/>
         <attainGoal name="plugin:repository-install"/>
	<!--
         <copy file="${maven.build.dir}/${maven.final.name}.jar"
           todir="${maven.plugin.dir}" />
	-->
      </goal>


</project>

and the reactor calls this with the goal multiproject:install-callback. 
  The repository-install command is needed both because we are using 
dependencies to order the build and because one plugin relies on itself 
being in the repository to function (it has to construct its own 
classpath including itself, but not other maven dependencies).

This works fine for some people and breaks for other people.  Removing 
~/.maven/cache and all copies of the geronimo plugins from the repo, 
$MAVEN_HOME/plugins and ~/.maven/plugins helps some people.  Sometimes 
building the plugins individually helps. Sometimes repeating this 
procedure over and over again helps.  When the build breaks, usually 
the plugin that is needed is not in the cache.

The commented out "copy" command seems to make the build more reliable 
on 1.0.2 and less reliable on 1.1-b2.  I think that what is happening 
is that each plugin build is clearing the cache  and the other plugins 
are not getting reloaded.

Can anyone suggest a way to produce a reliable build with the current 
plugin releases?  We might be able to restrict ourselves to 1.1-b2.  
Will the proposed 1.7 plugin-plugin release help with this problem?

thanks
david jencks


Mime
View raw message