Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 4221 invoked from network); 15 Oct 2008 07:51:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Oct 2008 07:51:35 -0000 Received: (qmail 49084 invoked by uid 500); 15 Oct 2008 07:51:35 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 49046 invoked by uid 500); 15 Oct 2008 07:51:35 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 49035 invoked by uid 99); 15 Oct 2008 07:51:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Oct 2008 00:51:35 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gscokart@gmail.com designates 64.233.182.191 as permitted sender) Received: from [64.233.182.191] (HELO nf-out-0910.google.com) (64.233.182.191) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Oct 2008 07:50:26 +0000 Received: by nf-out-0910.google.com with SMTP id g13so1203148nfb.10 for ; Wed, 15 Oct 2008 00:50:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=EAQDPEpbnuFaCa2xGWpg8m59h2P4b9jGLrrCbSFEfOc=; b=eZ3jQTCYXsU+MDWF68H77qMlkVhTRVv1s6gTG/C6mrkqoKWixg8vn7IwXQpe6Bn3SF QDRoSi1MOqdOP4bRh4NEyoKqmBt+SjNWEaKP1iZ77D0LBdaXWu/FkeeitJ5cbO/w9VQI 9eqVV4SciiGbR0sKwSxoFYPCR4iRNtXpbmBy0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=Gm8EJpNKsWAc8qoSuGPWra4+4WvMFcot38mfq3uDuNonRJdjPQTxfcGo/4QVskDOog ytfrFe0vmoZoIvf8lO+HF8Z+PX4WyU58AF+HAZMpLTybj2TIFyorjfKXb/W8MaNi2+3O c4lzsUZF5ynumUBvYp3YYpg31MEM4hVACcMBI= Received: by 10.103.217.7 with SMTP id u7mr328066muq.102.1224057052782; Wed, 15 Oct 2008 00:50:52 -0700 (PDT) Received: by 10.103.222.16 with HTTP; Wed, 15 Oct 2008 00:50:52 -0700 (PDT) Message-ID: Date: Wed, 15 Oct 2008 09:50:52 +0200 From: "Gilles Scokart" To: "Ant Developers List" Subject: Re: Deploying to a Maven Repo with Ivy In-Reply-To: <39AF9B1B-8010-4A68-B3E1-9793AF0F3FBE@dockter.biz> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <75F9AAF2-59A2-4C05-BF1B-F6261D131E80@dockter.biz> <635a05060810131048o6f9de71cw84e7b2b5b60991cf@mail.gmail.com> <39AF9B1B-8010-4A68-B3E1-9793AF0F3FBE@dockter.biz> X-Virus-Checked: Checked by ClamAV on apache.org Concerning the mapping, did you have thought to map one ivy module to multiple maven poms. I think that if you want to keep the same richness, when you have an ivy file with multiple "functional" configurations, you should generate multiple poms, one for each "functional" configuration that you have. I think it is the only way to keep an explicit name for those configurations. Did you already considered such aproach? 2008/10/14 Hans Dockter : > > On Oct 14, 2008, at 3:40 PM, Hans Dockter wrote: > > > >> 1.) Creating a MavenUploadResolver which only offers publishing >> functionality. It would offer a convenient way to choose and configure the >> Maven upload protocol. It would for example throw an exception in the case a >> module has more than one artifact. Alternatively/complementary a user might >> specify which artifact should be deployed. Basically the resolver should try >> its best to do the job automatically. If unmappable Ivy concepts are used, >> it throws an exception. Alternatively the user can decide how to downgrade. >> One place where Maven is not inferior I think is the protocol layer. So Ivy >> users will be happy with this. I haven't worked with Ivy dynamic properties >> yet. It should be possible to apply them also to pom uploading. The Pom >> generator would have to take care of this. Snapshot handling we will get out >> of the box. > > I have the first working implementation. I have implemented a > MavenUploadResolver which directly implements DependencyResolver. For all > retrieval operation it throws an UnsupportedOperationException. If its > publish method is called it checks the arguments for validity and assign > them to field variables. If more than one pom artifact, or more than one non > pom artifact, is passed an exception is thrown. The pom artifact is > generated before by our pom generator. If commitPublishTransaction is > called, we configure the Ant Maven deploy task and execute it. And it really > works :) > > The MavenUploadResolver has two public custom methods for adding normal and > snapshot repositories. You can add RemoteRepository objects which are part > of the Ant Maven tasks. I have never completely figured out what those > snapshot repositories in Maven are about, as you can also publish snapshots > to normal repositories. But here we go, I don't have to know. This is the > same Maven domain model that is used for configuring the repositories in the > settings.xml or pom.xml. > > One thing I want to add is an artifact filter. If an ivy module has more > than one artifact to publish, you can configure which ones should be > included/excluded (If more than one or zero remain an exception would be > thrown). > > - Hans > > -- > Hans Dockter > Gradle Project lead > http://www.gradle.org > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org > For additional commands, e-mail: dev-help@ant.apache.org > > -- Gilles Scokart --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org