On Mon, 21 Jun 2004, Eric Pugh <[EMAIL PROTECTED]>
wrote:

> I don't know what extent you want to push back on the projects that
> gump builds, but it seems to me that they are either doing something
> that pushes maven beyond it's limits,

Quite possible.  Or maybe not.

AFAIU we are successfully replacing all artifacts declared in the POM
with Gump built artifacts already - using jar overrides.  This
probably is enough as long as the projects we build are not trying to
defeat Gump.

When we build a project with Ant, Gump sets the magic
build.sysclasspath property to "only".  This means that each and every
<classpath> inside the build file will be ignored - which includes the
nested elements of the <junit> task for example.

If something we build with Ant runs tests, this means we have to add
the directory that will contain the compiled tests to the Gump
descriptor (using <work>) explicitly since the <junit> task won't find
the classes otherwise.  Gump adds it to the system CLASSPATH that way.

While trying to fix the commons-compress build I noticed that the
<work> entry didn't point anywhere but the test:test goal still
managed to find the classes - so the goal uses a Maven provided
classloader to load the classes which contains more than the stuff
declared in the Gump descriptor.

This means there is a way to add stuff to the classpath without giving
control to Gump.  This "hole" could be used to defeat Gump's purpose.
If this whole can only be exploited consciously, I don't see any
problem with it.  Projects that want to cheat on Gump should do so.
I'm concerned that a project may compile against some dated version
unconsciously, though.

For Maven plugins that are based on Ant tasks, we may get the same
effect as with Ant builds if we set the build.sysclasspath property as
a system property.  I'm not sure how Maven uses the Ant tasks, but it
may make them see the property and work as if they'd be running inside
of Ant.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to