That sounds and looks ideal, using the actual maven library trumps Ivy and looks as though it could be simpler, have / can you published your wrapper?
p ________________________________ From: Michael Guymon <[email protected]> To: [email protected] Sent: Friday, 28 October 2011, 16:09 Subject: Re: Experiences with transitive dependencies in buildr I had a similar experience when I started needing transitive resolution, but went a different route. My solution is a wrapper around Maven's dependency resolution framework, Aether. I have a hybrid Buildr setup, where Buildr can load a pom to get all the dependencies but Buildr does all the heavy lifting. The additional perk is Eclipse is happy using the pom to map out the project. On 10/28/2011 05:04 AM, Peter Tillotson wrote: > About a year ago I started using buildr. I needed to move from Ant, and > integrate with maven projects, but had always found maven deeply frustrating > I thought I'd share my experiences of using buildr and my recommendations. > But first why not maven: > * Always seems to need internet connection, either for plugins or > repositories > * I can never remember the correct incantation > * XML is the wrong tool for a build system Why buildr: > * Repository setting and dependency definitions are clean and simple > * With jruby I can check the whole lot into source control, so everyone > has a working build plugins and all > * I can drop back to rake / ruby when needed * I can set http_proxy > in a file for everyone, somewhere obvious So here is my big problem, > transitive dependencies management to my mind is broken. I say this because: > * Built in transitive has had a tendency to leak test dependencies > through to run and compile time dependencies > * No conflict resolution is done so I have 4 versions of commons logging > * Transitive off by default is okay, but I still need to resolve versions > * Transitive dependencies are not fully compliant with the some pom > features eg (${project.groupId}) buildr-dependency-extensions > * Does conflict resolution, but suffers from the pom loading features > above > * There is also a race condition that somehow stops transitive > dependencies getting in packaged war > ivy4r > * Great - ivy has good compliance, but > * I need lots of hard to read XML, and proxy settings are back to > environment variables > Okay so what are my recommendations: > * Transitive off by default is fine, but conflict resolution is needed > across all (transitive and none) dependencies with versions I define > dominating > * Needs to comply with pom features, without full repository integration > the build is broken > * Ivy4r seems to be a good choice, I suggest getting the wrapper written > so that your elegant repository, proxy and definitions can be handed off via > the transitive call to ivy > * buildr-dependency-extensions - conflict resolution is a good start > Apologies for the long email but thought I'd cover the results of a few days > fighting with dependency management in buildr et. > man thanks > > p
