ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Oulds <>
Subject Re: Using Ivy to automate build
Date Wed, 25 Nov 2009 11:42:05 GMT
Thank you for your reply Alex, let me elaborate on what I am hoping to do.

It is a requirement for us to be able to build the source in a single 
pass from a clean checkout, unfortunately we cannot rely on pre-built 
artefacts within the repository, so all projects must be built before 
any of their dependants.  As such defining a system that can determine 
the build order is crucial for us.  I was hoping that Ivy could solve 
this problem.  However just to complicate things, sometimes we need to 
build the entire source tree in release, debug or testing 
configurations, and for Win32, Win64, Mac OsX and EFI platforms.

As I'm sure you can imagine, the build order and even which modules 
should be built is significantly different for each of the 12 possible 

Now then your first rule is "Build each Project fully" which does 
effectively eliminate the need to worry about confs as you are in effect 
building all confs; however, why should I have to worry about building 
MacOsX+Release when I just want to test my Win32 build i.e. (Win32+Test).

I'm happy to accept that Ivy is not designed to work this way and that I 
should instead be looking for another solution, but I wanted to check 
here first incase anyone had an ingenious solution.

Alex Foreman wrote:
> We use:
>  * Build each Project fully.
>  * NO circular dependencies (so a dependant project higher up the
> stack always has all confs below it created)
>  * Use the non published ivy file to work out the build list (custom
> resolver only for CI/stack building)
> I cannot see why you need to care about confs if you follow the above
> three rules.  If you eliminate circular dependencies.
> Could you give an example where this fails for my understanding?
> Thanks,
> 2009/11/24 Jonathan Oulds <>:
>> Dear all,
>> I am using Ant+Ivy to specify the dependencies within a large software
>> project containing a mixture of C++ and Java code.  I then use ivy:buildlist
>> to ensure that all targets are build in the correct order.
>> However I have now run into a problem.  Namely that the list of build.xml
>> files may be different for different configurations, however ivy:buildlist
>> does not seem to take account of configuration information within ivy files.
>> Now I'm sure the the answer to this will be "simply resolve each project
>> before it is built, then the build order is irrelevant" however in this
>> particular case I need to build without access to the artefact repository.
>> Am I out of luck in hoping that Ivy can help automate my build.  Or has
>> anyone come across the same problem and arrived at an ingenious solution?
>> Thanks in advance
>> Jonathan

View raw message