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.



Reply via email to