Hi, we are using Ivy for dependency management since 2007 in our company because of the nice transitive dependency management features. If I had the option to establish a different approach I would just use buildrs simple dependency management features, especially after creating ivy4r for our seamless migration from ANT to Buildr. Transitive dependencies seam to be great till the first time you got an old version of artifact X that makes problem with library Y and you need to exclude this stuff. The white-listing of dependencies as needed when using buildrs dependency management is great to have the smallest sub-set of dependencies possible.
We used to create handcrafted ivy.xmls for an in-house Ivy Repository for every external library because ibiblio does not provide ivy.xmls for most libraries. This was quite a lot of work so we shifted to use public Maven repositories behind a Nexus proxy. This shift brought new problems. Our WARs and EARs are now much bigger in size, because of all the transitive dependencies defined we do not use but retrieve nevertheless from the Maven world. If I could start from scratch I would just use buildr as is. Right now our infrastructure is so tightly integrated with ivy that it would be a lot of work with no real benefit. If you have the choice you should evaluate if you would really like to host an in-house Ivy Repository and maybe an additional maven proxy like Nexus to support your builds with all the complexity that Ivy and transitive dependencies bring. Maybe the simple approach can work for you. Regards Klaas -----Original Message----- From: Alex Boisvert [mailto:[email protected]] Sent: Monday, August 23, 2010 3:48 AM To: [email protected] Subject: Re: ivy4r vs buildr On Sunday, August 22, 2010, Nikos Maris <[email protected]> wrote: > Why does buildr provide dependency management when there is already > Ivy? Does it make sense to make the transitive method use ivy4r in an > upcoming buildr release? Having a fork of Ivy that is less > configurable but simpler, is something that I wished when I started > these days to learn Ivy. What buildr does today is the minimum/easiest that could accomodate people without reinventing Ivy. Yes, the plan is to reuse Ivy (or a subset) to complete transitive dependency support. It will likely be an opinionated approach, with many choices taken out of what's possible to do with Ivy, aligning ourselves with Maven in terms of compatibility, and favoring determinism. For people who want full Ivy support, Buildr would defer to the Ivy4r plugin. The timeframe for this seems to be Buildr 1.5 -- hopefully before the end of 2010 but no guarantees. alex
