ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brown, Carlton" <Carlton.Br...@compucredit.com>
Subject RE: build dependant projects
Date Tue, 05 Aug 2008 13:39:46 GMT
I've been thinking about the same thing and I came to the conclusion
that it would require a custom web application to intercept artifact
requests and take appropriate action (serve existing artifact or rebuild
artifact).  You'd point an Ivy URL resolver at this webapp by using a
pattern like this in your ivy settings file: 
http://magicresolver?module=[module]&artifact=[artifact]&revision=[revis
ion]&rebuild=true 
or some such

Alternately, as an ordinary working man's solution, you could just use
Ant's <uptodate> task to compare the timestamp of the source set to the
timestamp of the artifact set to determine if they need rebuilding.

-----Original Message-----
From: Will Johnson [mailto:will@attivio.com] 
Sent: Monday, August 04, 2008 11:48 AM
To: ivy-user@ant.apache.org
Subject: build dependant projects

I'm new to ivy and feel like I'm missing something fundamental.  We have
a complex any build system that we're trying to move to ivy for
dependencies and so far things look good for 3rd party dependencies for
common open source libraries however I'm not quite sure how to set up
Ivy to automatically build dependant projects when necessary.  Right now
we have the following setup in our builds:  (this is really simplified
but you get the idea)

Core (main API level project)
ProjectA (depends on core)
ProjectB (depends on core)
ProjectC (depends on core + Project A)

The way we have ant setup currently I can go into the ProjectC directory
and type 'ant kit' and it will build Core + Project A if files changed
in either of those projects since they were last built.  I see how Ivy
can manage the dependencies but all the howto's and samples imply that
users have to go to the Core and ProjectA directories and publish things
first before those artifacts can be picked up.  I know I could add

<ant antfile="../Core/build.xml" target="publish" > <ant
antfile="../ProjectA/build.xml" target="publish">

to the ProjectC build file but it would seem like Ivy has some better
way to do this that is eluding me.  All I care about is that local
developers get changes to Core / ProjectA picked up and built when ever
those files are updated via source control without having to manually go
into each directory and publishing them.

Thanks for any help.


-          will

-----------------------------------------
====================================================
This message contains PRIVILEGED and CONFIDENTIAL
information that is intended only for use by the 
named recipient. If you are not the named recipient,
any disclosure, dissemination, or action based on 
the contents of this message is prohibited. In such
case please notify us and destroy and delete all 
copies of this transmission.  Thank you.
====================================================

Mime
View raw message