ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kirby Files <>
Subject Re: Published jars for test, pilot, and production environments?
Date Tue, 19 May 2009 18:39:09 GMT
Vonnahme, Paul wrote on 05/19/2009 01:26 PM:
> I'm hoping someone else is in a similar situation. We have some
> utility jars used by multiple projects. These jars have three
> different versions: one each for our test, pilot, and production
> environments. Therefore I believe each of the versions needs to be
> published so it will be available for multiple apps to use.
> When an app builds, it should get the latest version of the jar depending on the environment.
 The ivy.xml would contain:
>              <dependency org="principal" name="utility_jar" rev="latest.integration"/>
> I'd like to do something like:
>          ant compile -Denv=test
> for it to build with the latest test jar, -Denv=pilot to build with the latest pilot
jar, etc.
> My idea is to have three different versions of the settings file,
> and just change the root of a resolver based on the environment.
>            <property name="ivy.shared.default.root" value="/IvyRepository/test"/>
> would specify the root of the 'shared' resolver for the test
> environment.  "/IvyRepository/pilot" would exist for pilot, etc.

Is there any reason not to use varying statuses for the different 

You could either use the default release/milestone/integration 
statuses to map to your environments, or use your own.

In your ivy.xml,

   <dependency org="principal" name="utility_jar" 

and run in test environment:
   ant compile

You can even default the property in ivysettings.xml, with an 
override=false setting, to ensure your command-line param takes 

Now just publish your utility modules with the appropriate statuses, 
and everything should Just Work, right?


Kirby Files
Software Architect
Masergy Communications

View raw message