So there seems to be agreement on a initial solution. Should this be
tracked in Jira?
I plan on helping out, but work is eating all my spare time right now.
On top of that, I have a queue of patches I need to send out, so I will
not be able to produce anything in the near future.
--M
On 11/04/2011 06:13 AM, Peter Tillotson wrote:
This sounds pretty good - some thoughts inline below
Dependency Resolution
* Dependency resolution is optional
* Resolve Transitive Dependencies for an artifact(s)
* Create/Rebuild a dependency file
* Lock dependencies based on the dependency file
Transitive resolution should be capable of producing the same dependencies as
maven ( possibly via an interface compatible plugin ) and support the full
maven spec.
I'd add filtering and blacklist has been useful as well. I always have to package(:war).libs.reject! { |lib| lib.group == 'servlet-api' } this is a reasonable compile dependency that shouldn't get into runtime.
If the dependencies file something like the following
runtime:
- org.apache.cassandra:cassalndra-all:1.0.1
exclude:
- *:servlet-api:*
- *:junit:*
That would be pretty handy - I really like the idea of the dependency report
effectively acting as the whitelist / blacklist so when the universe changes my
build file doesn't necessarily have to :-)
Maven interop
* Generate a maven POM based on a Buildr project
* Create& deploy maven friendly artifacts based on a Buildr project
Would there be any benefit for having Ivy interoperability as well?
p
________________________________
From: Michael Guymon<michael.guy...@gmail.com>
To: dev@buildr.apache.org
Sent: Thursday, 3 November 2011, 23:16
Subject: Re: Experiences with transitive dependencies in buildr
So based on the discussion, it sounds like the following solutions would work
well:
Dependency Resolution
* Dependency resolution is optional
* Resolve Transitive Dependencies for an artifact(s)
* Create/Rebuild a dependency file
* Lock dependencies based on the dependency file
Maven interop
* Generate a maven POM based on a Buildr project
* Create& deploy maven friendly artifacts based on a Buildr project
Would there be any benefit for having Ivy interoperability as well?
On 11/02/2011 09:59 PM, Peter Donald wrote:
Hi,
On Thu, Nov 3, 2011 at 12:26 AM, Chiaming Hsu<camy...@yahoo.com> wrote:
If this becomes part of the core of buildr as Peter suggested, would there be
performance impact when not using transitive dependencies?
I would hope not.
I am not a huge fan of transitive closure across the builds when you
can't lock it down to a specific set (like Gemfile.lock or what Ivy4r
supports it seems). I don't object so much to the network chattiness
but due to the un-reproducible of builds.
Aether would mainly used as the API for interacting with Maven repos
and for implementing transitive dependencies of maven artifacts.