Hi,

I think we might get some nice benefits from moving the concept of unmanaged classpaths out of the various tasks and into Configuration. These are:

- We remove the parallel concepts of configurations and unmanaged classpaths from all the tasks, and leave configurations (or more likely FileCollections). This means simpler tasks.

- The unmanaged classpaths can be easily reused by multiple tasks. Currently, if I add something to the unmanaged classpath for compile, I have to hunt down all the other places that use the compile configuration and add it there (providing, of course, they all support unmanaged classpaths). If I add it to the compile configuration, then they all just pick it up.

- We could attach meta-info to the items in the unmanaged classpath, such as which tasks produce them.

- We could mix and match the use of ivy and files for a given dependency. For instance, I might want to bypass ivy for my intra-build dependencies by providing File for them, but still have ivy resolution used for those same dependencies when used outside the build (actually, its not 'might', I really do want to do this for some of my builds).

So, how might this look? I can see a few options:

- Add some methods to Configuration which allow unmanaged files to be added to the Configuration. When Configuration.resolve() is called, it returns the union of the files provided by ivy and the set of unmanaged files.

- Make Configuration polymorphic, so that you can have an Ivy Configuration or an unmanaged Configuration.

- Change Dependency so that an implementation can provide either an ivy descriptor or a set of files or both, and add an UnmanagedDependency impl.

I prefer the last option.

We would need a term other then 'unmanaged classpath' for this type of artifact because they aren't necessarily unmanaged, or used for the classpath.


Adam


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to