avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <leosim...@apache.org>
Subject Re: Maven/Gump Question about special changes to build
Date Tue, 17 Jun 2003 20:10:22 GMT
Berin Loritsch wrote:
>> why do you need to copy source files? Do the tools/ need access to 
>> container/ sourcefiles at runtime?
> Yes.  THe tools make use of the util/dag/** stuff as well as the
> util/Service class and the impl/roles/ServiceMetaManager for
> various aspects.

ok, I get the problem now. What we have, in fact, is a circular 
dependency between fortress-container and fortress-tools, because the 
tests for fortress-container utilise the metainfo task provided by 
fortress-tools, and fortress-tools utilizes classes from fortress-container.


Your solution to the problem is

1) duplicate the classes fortress-tools needs from fortress-container, 
ie, copying them, at buildtime, before compiling

A few more options:

2) don't use the metainfo task in the fortress-container tests, breaking 
the loop and removing the dependency on fortress-tools, generating a 
convenience 'fortress-tools-complete.jar' containing the required 
materials from fortress-container.jar (or maybe everything from 
fortress-container-complete, for convenience)

3) seperate out the code that the tools need into a new 
(mini-)subproject, fortress-util (and/or perhaps a fortress-meta)

4) make fortress-container generate a jar that contains sourcefiles, and 
  fetch and unpack that from fortress-tools


my preference is probably #2, because it seems the cleanest 
conceptually: unit tests should not depend on dependencies of what they 
are testing, and having a subproject for three classes is ugly.

Regardless of all that, I think for the gump build it is cleanest to not 
modify the ant buildfile but just have inherit="runtime" for 
dependencies on fortress-tools. This does not require buildfile 
customization and is consistent with how this works for other build 
projects (like ant).



To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org

View raw message