Return-Path: Delivered-To: apmail-repository-archive@www.apache.org Received: (qmail 27663 invoked from network); 22 May 2007 10:35:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 May 2007 10:35:17 -0000 Received: (qmail 86981 invoked by uid 500); 22 May 2007 10:35:22 -0000 Delivered-To: apmail-repository-archive@apache.org Received: (qmail 86886 invoked by uid 500); 22 May 2007 10:35:22 -0000 Mailing-List: contact repository-help@apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: repository@apache.org List-Id: Delivered-To: mailing list repository@apache.org Received: (qmail 86875 invoked by uid 99); 22 May 2007 10:35:22 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 May 2007 03:35:22 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of xavier.hanin@gmail.com designates 64.233.162.237 as permitted sender) Received: from [64.233.162.237] (HELO nz-out-0506.google.com) (64.233.162.237) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 May 2007 03:35:14 -0700 Received: by nz-out-0506.google.com with SMTP id l1so2857468nzf for ; Tue, 22 May 2007 03:34:54 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=dwbYnB3BXUIDD8v5Tv+h9dwhKLeURKSlzpYe1DsKAfCoOJrEKY8FhVyZTOHC3dOcsu50raawvYPawzYKY2UhisDzyEwPGVW9XUChsjncotBDSyO7CEYYbHyTfb2pnwNvsG+wloUiD4ll9xL2q8n3+QdHaKWiZDya/OW9hoI4okY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=aj8wPTmgBwNlxQGSn8YFGRkayAaJzmdu8LgIH8PcopGAu5Za8rixPwxu3t924zmJ2sr2FyEm6AXlwNsxvVB3MkSdK3wAkAghWNfmTTQ+zS0TuPUIBDYQVMq/009MOz/BPd4mj1fSNa6bRvbrtOnlRu4NBl/FTnYcCPbSeFoEmE4= Received: by 10.114.199.1 with SMTP id w1mr3246359waf.1179830093838; Tue, 22 May 2007 03:34:53 -0700 (PDT) Received: by 10.114.124.8 with HTTP; Tue, 22 May 2007 03:34:53 -0700 (PDT) Message-ID: <635a05060705220334q3f9ffb1ckbedb735c2d2a2dbb@mail.gmail.com> Date: Tue, 22 May 2007 12:34:53 +0200 From: "Xavier Hanin" To: repository@apache.org Subject: Re: what does ${version} do in a POM In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <262c6c680705211842s2c7b84cap93ba67d467b904ea@mail.gmail.com> <635a05060705220214j1e419893h1cbaac8048adb8fb@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org On 5/22/07, Steve Loughran wrote: > On 22/05/07, Xavier Hanin wrote: > > > BTW I agree with steeve, published metadata should be self contained > > with no reference, it would make tool development much easier and much > > more stable and reproducible. It's nice to know this has been done in > > maven 1.1. > > > If you were to be fully rigorous, you'd do a complete closure of the > dependency graph, so the metadata of every artifact would list the > dependencies as resolved by the build tool at the time of release. > That way you don't have to "think like a turtle" and reimplement the > resolution logic of the specific tool used just to get the > dependencies. It would also be a nice regression test for resolution > code...if you resolved the pom and came up with something different > from the closure, you'd know your algorithm was broken. Interesting, I've already people looking for something like that to ensure an even stronger reproducibility (not relying on other metadata in the repository). But this would need to be something well defined as being a closure, so that you don't loose the information of why you have one dependency: ie which module actually depend on it. Another problem is conflict resolution. One module may choose to use a different conflict resolution mechanism which would need to recompute the dependency closure. Xavier > > -steve > -- Xavier Hanin - Independent Java Consultant Manage your dependencies with Ivy! http://incubator.apache.org/ivy/