ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kirby Files <>
Subject Re: Which conf to publish to?
Date Tue, 28 Apr 2009 13:25:47 GMT
Nik wrote on 04/28/2009 12:14 AM:
> Here is an example ivy.xml files for one of my base packages:
> <ivy-module version="1.0">
> <configurations>
> <conf name="build" visibility="private" />
> <conf name="default" />
> </configurations>

> I've found that if I set it to conf="build", then even though a JAR is
> published to the repository,
> other projects don't use it in their resolve process. Changing the value
> to conf="default" or conf="*" fixes this.

Your "build" conf is private, so no other modules can use it. Fix 
this, and your build->* conf-mapping will work.

> Q: Should I stick with conf="build" here, and then make my calling build
> use the "build" conf in their resolve?
> Q: Should I just stick with conf="default" in the <artifacts> element of
> the depended-on package?
> Q: Is it better (and more correct even) to use conf="*" in the
> <artifacts> element?
> Q: Or should I enumerate the valid configs as in: conf="build, default"?

You should definitely retain a default conf, and make sure a sensible 
set of artifacts is published to that conf, so that the naive 
dependency works as expected. Then add configurations for specific 
use-cases, like build, as appropriate. You may want to use the same 
conf names as the maven plugin, such as "compile", "runtime", etc. I 
find this makes transitive dependency conf-mapping easier when using a 
mix of enterprise and maven dependencies.

Kirby Files
Software Engineer
Masergy Communications

View raw message