> I've long heard "that Gump can't *yet* run Maven", and the 
> emphasis is always on the yet. I'm assisting with a re-work 
> of Gump (into Python) and I'm curious whether making Gump run 
> Maven is practical. If it is, and folks here are game to try, 
> maybe I can look into coding the Gump side.

I've put my hand up to help out. 

> I've seen other folks try having the build tool [and all it's 
> components] be built by Gump, and then the build tool used to 
> build other Gump tasks. Clearly it works for ant, however ant 
> is pretty stable these days and (at
> core) has few dependencies. That said, even ant has a 
> bootstrap issue. Could Maven be built from ant builds of it's 
> sub-components? Would it be a stable stack?

We are currently reworking the bootstrap somewhat. I currently uses Ant, but
that will change. We should consider it in the new bootstrap, but I think
building Maven and using that to build other projects should come a little
later.

> The problem comes when the build tool is sufficiently 
> dependent on a stack of sub-components, that any 
> instabilities in that stack cause the build tool not to 
> build, and hence cause the dependee projects not to get 
> Gumped. This means that dependee projects loose valuable 
> chances at spotting a glitch in their runtime dependencies. 
> This could be a big negative, and maybe even enough reason to 
> keep things as they are. [Gump builds/test don't have to be 
> full distribution builds, just enough to compile/test 
> interfaces, so maybe don't need fancier features Maven has, 
> not sure...]

This is tricky. Say Maven changes something that breaks some else's build -
this is probably of interest to both Maven and the gumped project as soon as
possible. On the other hand, if Maven is broken (heaven forbid!), you really
don't want to stop all the Maven projects from building.

The sensible thing to do is to fall back to a released version of Maven if
Maven itself fails to build. If Maven succeeeds in building, but breaks all
the subprojects builds - that's fine, we'll fix it ASAP.

Surprising as it may sound, Maven's core is getting much more stable, and we
will introduce version compatibility information before any major changes
take place to the interface.

> Also, I assume that Maven uses the POM in order to manage the 
> classpath for builds. Ant allows the environment to take 
> control, overriding the ant script.
> [See: http://ant.apache.org/manual/sysclasspath.html] Does 
> Maven have any such concept?

I've addressed this to a separate mail on the gump list (interested parties
should probably join the discussion there). I think the two alternatives are
either to use jar overrides, or preferably flip a project to use snapshot
dependencies for everything managed by gump.

Cheers,
Brett

Reply via email to