Nappin, Chris (IT Services) wrote:
Hi,

  I'm currently evaluating ivy and have a question about shared
repositories and configurations.

I've created a simple shared repository intended to be used by a number
of in-house projects. This contains hand-written ivy module dependency
files for each artifact. Each project has a different set of
configurations.

It's generally a good idea to have a fairly standard set of configurations (you can include them from a standard file using the <include> element). You can always add additional module specific ones if required.

I would like each of the artifacts to be usable by all projects and all
configurations, without having to add a list of all project
configurations to every module dependency file in the shared repository.
My repository shouldn't have to know about every project that is going
to use it. Is this possible, and if so how?

You don't need to have a particular configuration name in your module in order to use artifacts from that configuration name in another module. e.g.

Other module:
confs = foo, bar

Your module:

confs = baz

<dependency org="yours" name="Other module" rev="whatever" conf="baz->foo"/>

That means your baz conf depends on the foo conf from the other module.

Did that answer your question - I may have misunderstood? Configuration mapping in dependencies allows you to express complex relationships between confs in the source module and those in the dependency module. See http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html

Tom

Reply via email to