On 3 Mar 07, at 10:29 AM 3 Mar 07, Wendy Smoak wrote:

On 3/2/07, Jason van Zyl <[EMAIL PROTECTED]> wrote:

Before reading that what did you think something like:
<version>1.0</version>
meant?
I'm actually interested in what general user opinion is here.

I suppose I've never reconciled how I thought it ought to work, with
the actual behavior of "nearest" in the directed graph

It's not a graph unfortunately which is a fundamental mistake in the current artifact mechanism. It needs to changed to have the graph be a first class citizens. No reliable transformation can occur without a graph.

(which I like)
coupled with the unpredictable things that would happen with
dependencyManagement + transitivity.  (Fixed in 2.0.5?)

MNG-1577 is not fixed. For 2.0.6.


But how does this change things?  If I declare a dependency on 1.0 and
something two levels out declares [2.0], what do I get in my webapp?

Try it but according to what's documented it would cause a problem. Because the only version that could be used is [2.0], if many dependencies used hard versions then you are fundamentally screwed. This is why the soft versions are the default and it wiggles around.

Does [...] syntax allow transitive dependencies to override my
choices?  If everyone switches to [...] then are we back where we
started with "nearest" ?

Well, anything down stream that uses hard versions will require everything else to include that hard version in the range or it will fail according to the rules.

The actual calculations to find suitable ranges requires a graph, walking down branches and sometimes back tracking and throwing results away. I've been looking at how Gentoo/RPM/OSGi calculate ranges and we need something similar. We need to seriously rethink what we have for artifact resolution.


--
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to