From b2682eb6f260dc0bf5f70ede977e51442dbea40b Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Mon, 24 Aug 2009 09:14:06 +0000 Subject: [PATCH] [MNG-4317] [regression] g:a level metadata is not properly processed when resolving plugin version o Added IT git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@807135 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...inVersionResolutionFromMultiReposTest.java | 64 +++++++++++ .../src/test/resources/mng-4317/pom.xml | 35 ++++++ .../maven-mng4317-plugin/maven-metadata.xml | 14 +++ .../0.2/maven-mng4317-plugin-0.2.jar | Bin 0 -> 7798 bytes .../0.2/maven-mng4317-plugin-0.2.pom | 69 +++++++++++ .../maven-mng4317-plugin/maven-metadata.xml | 15 +++ .../maven-mng4317-plugin/maven-metadata.xml | 5 + .../resources/mng-4317/settings-template.xml | 108 ++++++++++++++++++ 9 files changed, 311 insertions(+) create mode 100644 its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4317PluginVersionResolutionFromMultiReposTest.java create mode 100644 its/core-it-suite/src/test/resources/mng-4317/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4317/repo-1/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4317/repo-3/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4317/settings-template.xml diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index 1a846ea6c1..4ec89918dd 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -86,6 +86,7 @@ public class IntegrationTestSuite // suite.addTestSuite( MavenIT0109ReleaseUpdateTest.class ); // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 + suite.addTestSuite( MavenITmng4317PluginVersionResolutionFromMultiReposTest.class ); suite.addTestSuite( MavenITmng4314DirectInvocationOfAggregatorTest.class ); suite.addTestSuite( MavenITmng4312TypeAwarePluginParameterExpressionInjectionTest.class ); suite.addTestSuite( MavenITmng4305LocalRepoBasedirTest.class ); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4317PluginVersionResolutionFromMultiReposTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4317PluginVersionResolutionFromMultiReposTest.java new file mode 100644 index 0000000000..c6824a915f --- /dev/null +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4317PluginVersionResolutionFromMultiReposTest.java @@ -0,0 +1,64 @@ +package org.apache.maven.it; + +/* + * 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. + */ + +import org.apache.maven.it.Verifier; +import org.apache.maven.it.util.ResourceExtractor; + +import java.io.File; + +/** + * This is a test set for MNG-4317. + * + * @author Benjamin Bentmann + */ +public class MavenITmng4317PluginVersionResolutionFromMultiReposTest + extends AbstractMavenIntegrationTestCase +{ + + public MavenITmng4317PluginVersionResolutionFromMultiReposTest() + { + super( ALL_MAVEN_VERSIONS ); + } + + /** + * Verify that the g:a level metadata files from different repositories are properly merged when trying to resolve + * a version for some plugin that was invoked with g:a:goal. + */ + public void testit() + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4317" ); + + Verifier verifier = new Verifier( testDir.getAbsolutePath() ); + verifier.setAutoclean( false ); + verifier.deleteDirectory( "target" ); + verifier.deleteArtifacts( "org.apache.maven.its.mng4317" ); + verifier.getCliOptions().add( "-s" ); + verifier.getCliOptions().add( "settings.xml" ); + verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() ); + verifier.executeGoal( "org.apache.maven.its.mng4317:maven-mng4317-plugin:touch" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + verifier.assertFilePresent( "target/touch.txt" ); + } + +} diff --git a/its/core-it-suite/src/test/resources/mng-4317/pom.xml b/its/core-it-suite/src/test/resources/mng-4317/pom.xml new file mode 100644 index 0000000000..e6cfac6162 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/pom.xml @@ -0,0 +1,35 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4317 + test + 0.1 + pom + + Maven Integration Test :: MNG-4317 + + Verify that the g:a level metadata files from different repositories are properly merged when trying to resolve + a version for some plugin that was invoked with g:a:goal. + + diff --git a/its/core-it-suite/src/test/resources/mng-4317/repo-1/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-4317/repo-1/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml new file mode 100644 index 0000000000..f52f68f77b --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/repo-1/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml @@ -0,0 +1,14 @@ + + + org.apache.maven.its.mng4317 + maven-mng4317-plugin + 0.1 + + 0.1 + 0.1 + + 0.1 + + 20090823084140 + + diff --git a/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.jar b/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..8143e8633d1d4e1ec8d41dc8ad6fda5984b1c4bf GIT binary patch literal 7798 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 literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.pom b/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.pom new file mode 100644 index 0000000000..dd5b5fe8a2 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/0.2/maven-mng4317-plugin-0.2.pom @@ -0,0 +1,69 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4317 + maven-mng4317-plugin + 0.2 + maven-plugin + + Maven Integration Test Plugin :: Touch + + A test plugin that creates an empty file. + + 2009 + + + + maven-core-it + file:///${basedir}/repo + + + + + true + + + + + org.apache.maven + maven-plugin-api + 2.0 + + + + + + + . + + pom.xml + src/** + + + + src/main/resources + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml new file mode 100644 index 0000000000..29d0cd6216 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/repo-2/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml @@ -0,0 +1,15 @@ + + + org.apache.maven.its.mng4317 + maven-mng4317-plugin + 0.1 + + 0.2 + 0.2 + + 0.1 + 0.2 + + 20090824084140 + + diff --git a/its/core-it-suite/src/test/resources/mng-4317/repo-3/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-4317/repo-3/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml new file mode 100644 index 0000000000..c0487bec1b --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/repo-3/org/apache/maven/its/mng4317/maven-mng4317-plugin/maven-metadata.xml @@ -0,0 +1,5 @@ + + + org.apache.maven.its.mng4317 + maven-mng4317-plugin + diff --git a/its/core-it-suite/src/test/resources/mng-4317/settings-template.xml b/its/core-it-suite/src/test/resources/mng-4317/settings-template.xml new file mode 100644 index 0000000000..92d04021f5 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4317/settings-template.xml @@ -0,0 +1,108 @@ + + + + + + + + central-blocker + central + @baseurl@/void + + + + + maven-core-it-repo + + + + maven-core-it-1 + @baseurl@/repo-1 + + ignore + + + false + + + + + maven-core-it-2 + @baseurl@/repo-2 + + ignore + + + false + + + + + maven-core-it-3 + @baseurl@/repo-3 + + ignore + + + false + + + + + + + maven-core-it-1 + @baseurl@/repo-1 + + ignore + + + false + + + + + maven-core-it-2 + @baseurl@/repo-2 + + ignore + + + false + + + + + maven-core-it-3 + @baseurl@/repo-3 + + ignore + + + false + + + + + + + maven-core-it-repo + +