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:[EMAIL PROTECTED] Sent: Monday, August 04, 2008 11:48 AM To: [email protected] 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. ====================================================
