On Jun 30, 2006, at 11:00 AM, Jason Dillon wrote:

While this may work most of the time, it is not ideal as when making
changes to plugins, users will be mystified when those changes are
not used on the first build.

   This is not true. The plugin is *not* used before it is built. The
problem is that maven does not even start the build until it has
downloaded all the plugins. Even a dummy plugin would work.

Um... it is completely true. I am aware that the plugin is not used before it is built.

BUT the point that I was making was that Maven must resolve the plugin before the build commences... that means that the plugin must exist in a repository (or cache) already, and that is the version that will be used for the current build cycle... NOT the plugin that will be compiled and installed as part of the current build.

The point I've been trying to make is that this feature of maven is a showstopper for use of maven in any framework type project. We can work around it, but it's a ridiculous limitation in maven. Yes, I should take it up with the maven team, but that takes time and energy, both of which are in short supply for me right now.


Therefor the current build will always use the version of the plugin that was built BEFORE the build started, NOT the version that is actually getting built.

This is why I suggested that the plugin either be part of another project (detached from the main build) or as part of a bootstrap phase that is executed before the main build cycle.

Since the packaging plugin is a way of running some g. core code from maven, not having it use the just built core code in a build makes me extremely uneasy. I would prefer to split the build up into segments that must be run separately. Since I am the only person who want to have a complete build of all the stuff that depends on geronimo and goes into the assemblies (I'm referring to building openejb as part of the g build), this really shouldn't annoy anyone.

So, my proposed build procedure:

build modules + plugins
go somewhere else and build openejb
build apps + configs + assemblies

The proposal of using snapshots of openejb from a repo prevents you from doing a clean build and finding out that in fact you created a problem in either openejb or configs/assembly.

This 3 step process will prevent us from interspersing the modules and configs builds which might be highly desirable to make our dependency tracking the same as the maven dependency tracking. Cant get everything :-(

thanks
david jencks


--jason



Reply via email to