Return-Path: X-Original-To: apmail-maven-commits-archive@www.apache.org Delivered-To: apmail-maven-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C8F99EC65 for ; Mon, 28 Jan 2013 14:58:07 +0000 (UTC) Received: (qmail 71836 invoked by uid 500); 28 Jan 2013 14:58:07 -0000 Delivered-To: apmail-maven-commits-archive@maven.apache.org Received: (qmail 71639 invoked by uid 500); 28 Jan 2013 14:58:07 -0000 Mailing-List: contact commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list commits@maven.apache.org Received: (qmail 71619 invoked by uid 99); 28 Jan 2013 14:58:06 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jan 2013 14:58:06 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Jan 2013 14:58:04 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id B9A082388847; Mon, 28 Jan 2013 14:57:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1439435 - in /maven/plugins/trunk/maven-shade-plugin/src: it/dep-reduced-pom-use-base-version/ it/dep-reduced-pom-use-base-version/repo/ it/dep-reduced-pom-use-base-version/repo/org/ it/dep-reduced-pom-use-base-version/repo/org/apache/ it/... Date: Mon, 28 Jan 2013 14:57:45 -0000 To: commits@maven.apache.org From: olamy@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130128145745.B9A082388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olamy Date: Mon Jan 28 14:57:44 2013 New Revision: 1439435 URL: http://svn.apache.org/viewvc?rev=1439435&view=rev Log: [MSHADE-136] Shade dependency reduced pom uses timestamp in artifact names instead of -SNAPSHOT Submitted by Anthony Dahanne. Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml (with props) maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.jar maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom (with props) maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml (with props) maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy (with props) Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml?rev=1439435&view=auto ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml (added) +++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml Mon Jan 28 14:57:44 2013 @@ -0,0 +1,82 @@ + + + + + + 4.0.0 + + org.apache.maven.its.shade.drp + test + 1.0-SNAPSHOT + jar + + MSHADE-136 + + Test that creation of the dependency reduced POM properly handles snapshot dependencies with useBaseVersion. + + + + + shade-it + file:///${basedir}/repo + + ignore + + + ignore + true + + + + + + + org.apache.maven.its.shade.drp + a + 0.1-SNAPSHOT + compile + + + + + + + org.apache.maven.plugins + maven-shade-plugin + @project.version@ + + + attach-shade + package + + shade + + + true + true + true + target/dependency-reduced-pom.xml + + + + + + + Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories?rev=1439435&view=auto ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories (added) +++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/_maven.repositories Mon Jan 28 14:57:44 2013 @@ -0,0 +1 @@ +a-0.1-20130115.024354-82.pom>shade-it= \ No newline at end of file Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.jar URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.jar?rev=1439435&view=auto ============================================================================== Files maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.jar (added) and maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.jar Mon Jan 28 14:57:44 2013 differ Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom?rev=1439435&view=auto ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom (added) +++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom Mon Jan 28 14:57:44 2013 @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.apache.maven.its.shade.drp + a + 0.1-SNAPSHOT + jar + + + + maven-core-it + file:///${basedir}/repo + + + Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/a-0.1-20130115.024354-82.pom ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml?rev=1439435&view=auto ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml (added) +++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml Mon Jan 28 14:57:44 2013 @@ -0,0 +1,24 @@ + + + org.apache.maven.its.shade.drp + a + 0.1-SNAPSHOT + + + true + + 20130115024354 + + + jar + 0.1-20130115.024354-82 + 20130115024354 + + + pom + 0.1-20130115.024354-82 + 20130115024354 + + + + Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/repo/org/apache/maven/its/shade/drp/a/0.1-SNAPSHOT/maven-metadata.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy?rev=1439435&view=auto ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy (added) +++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy Mon Jan 28 14:57:44 2013 @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +File pomFile = new File( basedir, "target/dependency-reduced-pom.xml" ); +assert pomFile.isFile() + +def ns = new groovy.xml.Namespace("http://maven.apache.org/POM/4.0.0") +def pom = new XmlParser().parse( pomFile ) + +assert pom[ns.modelVersion].size() == 1 +assert pom[ns.dependencies][ns.dependency].size() == 1 +// assert the dependency is named -SNAPSHOT and not -20130115.024354-82 +assert pom[ns.dependencies][ns.dependency][0][ns.version][0].text().equals("0.1-SNAPSHOT") Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-use-base-version/verify.groovy ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java?rev=1439435&r1=1439434&r2=1439435&view=diff ============================================================================== --- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java (original) +++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java Mon Jan 28 14:57:44 2013 @@ -365,6 +365,18 @@ public class ShadeMojo private String shaderHint; /** + * When true, the version of each dependency of the reduced pom will be based on the baseVersion of the original + * dependency instead of its resolved version. + * For example, if the original pom (transitively) depends on a:a:2.7-SNAPSHOT, if useBaseVersion is set to false, + * the reduced pom will depend on a:a:2.7-20130312.222222-12 whereas if useBaseVersion is set to true, the reduced + * pom will depend on a:a:2.7-SNAPSHOT + * + * @since 3.0 + */ + @Parameter( defaultValue = "false" ) + private boolean useBaseVersion; + + /** * @since 1.6 */ private PlexusContainer plexusContainer; @@ -820,7 +832,14 @@ public class ShadeMojo dep.setOptional( artifact.isOptional() ); dep.setScope( artifact.getScope() ); dep.setType( artifact.getType() ); - dep.setVersion( artifact.getVersion() ); + if ( useBaseVersion ) + { + dep.setVersion( artifact.getBaseVersion() ); + } + else + { + dep.setVersion( artifact.getVersion() ); + } //we'll figure out the exclusions in a bit.