This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6772_2 in repository https://gitbox.apache.org/repos/asf/maven-integration-testing.git
commit 9b5ca701a6c002e21eb414f3eed4ca47bec07749 Author: Hervé Boutemy <[email protected]> AuthorDate: Sun Mar 28 14:57:04 2021 +0200 simplify test and rename BOMs to bom-a and bom-b --- ...mng6772NestedImportScopeRepositoryOverride.java | 96 ++-------------------- .../{pom-template.xml => pom.xml} | 7 +- .../apache/maven/its/mng6772/a/0.1/a-0.1.pom.md5 | 1 - .../apache/maven/its/mng6772/a/0.1/a-0.1.pom.sha1 | 1 - .../apache/maven/its/mng6772/b/0.1/b-0.1.pom.md5 | 1 - .../apache/maven/its/mng6772/b/0.1/b-0.1.pom.sha1 | 1 - .../{a/0.1/a-0.1.pom => bom-a/0.1/bom-a-0.1.pom} | 10 ++- .../maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom.sha1 | 1 + .../{b/0.1/b-0.1.pom => bom-b/0.1/bom-b-0.1.pom} | 2 +- .../maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom.sha1 | 1 + 10 files changed, 22 insertions(+), 99 deletions(-) diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6772NestedImportScopeRepositoryOverride.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6772NestedImportScopeRepositoryOverride.java index 65a9933..636beba 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6772NestedImportScopeRepositoryOverride.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6772NestedImportScopeRepositoryOverride.java @@ -20,24 +20,17 @@ package org.apache.maven.it; */ import java.io.File; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.List; import org.apache.maven.it.util.ResourceExtractor; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.endsWith; -import static org.hamcrest.Matchers.startsWith; - /** * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-6772">MNG-6772</a>: * - * The test POM references an import scope POM, which also has a dependency on an import scope POM. + * The pom.xml project POM imports dependencyManagement from bom-a POM, which also imports dependencyManagement from another bom-b POM. + * + * Both BOM POMs can only be found in the repository defined in the project POM, that overrides central repository. * - * Both import POMs can only be found in the repository defined in the test POM. - * It has a parent POM that defines the same repository with a different location. - * The test confirms that the dominant repository definition (child) wins while resolving the import POMs. + * The test checks that central repository override from project pom.xml remains used to get bom-b POM. * */ public class MavenITmng6772NestedImportScopeRepositoryOverride @@ -46,7 +39,7 @@ public class MavenITmng6772NestedImportScopeRepositoryOverride public MavenITmng6772NestedImportScopeRepositoryOverride() { - super( "[3.0,)" ); + super( "[4.0.0-alpha-1,)" ); } // This will test the behavior using ProjectModelResolver @@ -59,83 +52,8 @@ public class MavenITmng6772NestedImportScopeRepositoryOverride overrideSettings( testDir, verifier ); verifier.deleteArtifacts( "org.apache.maven.its.mng6772" ); - verifier.filterFile( "pom-template.xml", "pom.xml", "UTF-8", verifier.newDefaultFilterProperties() ); - - try - { - verifier.executeGoal( "validate" ); - fail( "Shouldn't be able to find b-0.1.pom in Central " ); - } - catch( VerificationException e ) - { - } - - List<String> logLines = Files.readAllLines( testDir.toPath().resolve( verifier.getLogFileName() ) ); - - List<String> downloadLines = new ArrayList<>( 3 ); - for ( String line : logLines ) - { - if ( line.startsWith( "[INFO] Downloading from central:" ) ) - { - downloadLines.add( line ); - } - } - - assertEquals( 2, downloadLines.size() ); - - assertThat( downloadLines.get( 0 ), endsWith( "/a-0.1.pom" ) ); - assertThat( downloadLines.get( 0 ), startsWith( "[INFO] Downloading from central: file" ) ); - - assertThat( downloadLines.get( 1 ), endsWith( "/b-0.1.pom" ) ); - assertThat( downloadLines.get( 1 ), startsWith( "[INFO] Downloading from central: http" ) ); - - verifier.resetStreams(); - } - - // This will test the behavior using DefaultModelResolver - public void testitInDependency() - throws Exception - { - final File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-6772-override-in-dependency" ); - - final Verifier verifier = newVerifier( testDir.getAbsolutePath(), null ); - overrideSettings( testDir, verifier ); - verifier.deleteArtifacts( "org.apache.maven.its.mng6772" ); - - verifier.filterFile( "pom-template.xml", "pom.xml", "UTF-8", verifier.newDefaultFilterProperties() ); - - try - { - verifier.executeGoal( "compile" ); - fail( "Shouldn't be able to find b-0.1.pom in Central " ); - } - catch( VerificationException e ) - { - } - - List<String> logLines = Files.readAllLines( testDir.toPath().resolve( verifier.getLogFileName() ) ); - - List<String> downloadLines = new ArrayList<>( 3 ); - for ( String line : logLines ) - { - if ( line.startsWith( "[INFO] Downloading from central:" ) ) - { - downloadLines.add( line ); - } - } - - assertEquals( 3, downloadLines.size() ); - - assertThat( downloadLines.get( 0 ), endsWith( "/dependency-0.1.pom" ) ); - assertThat( downloadLines.get( 0 ), startsWith( "[INFO] Downloading from central: file" ) ); - - // this might be a bug, shouldn't it be using the repository defined in dependency-0.1.pom, even though it is a BOM - assertThat( downloadLines.get( 1 ), endsWith( "/a-0.1.pom" ) ); - assertThat( downloadLines.get( 1 ), startsWith( "[INFO] Downloading from central: file" ) ); - - assertThat( downloadLines.get( 2 ), endsWith( "/b-0.1.pom" ) ); - assertThat( downloadLines.get( 2 ), startsWith( "[INFO] Downloading from central: http" ) ); - + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); verifier.resetStreams(); } diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/pom-template.xml b/core-it-suite/src/test/resources/mng-6772-override-in-project/pom.xml similarity index 83% rename from core-it-suite/src/test/resources/mng-6772-override-in-project/pom-template.xml rename to core-it-suite/src/test/resources/mng-6772-override-in-project/pom.xml index 19149cd..8d89632 100644 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/pom-template.xml +++ b/core-it-suite/src/test/resources/mng-6772-override-in-project/pom.xml @@ -29,14 +29,15 @@ under the License. <name>Maven Integration Test :: MNG-6772</name> <description> - Checks that overriding the central repository always wins over the super POM. + Checks that overriding the central repository in build pom.xml wins again transitive dependencyManagement imports + (both against overrides done in a BOM and against default url from super POM). </description> <dependencyManagement> <dependencies> <dependency> <groupId>org.apache.maven.its.mng6772</groupId> - <artifactId>a</artifactId> + <artifactId>bom-a</artifactId> <version>0.1</version> <type>pom</type> <scope>import</scope> @@ -47,7 +48,7 @@ under the License. <repositories> <repository> <id>central</id> - <url>@baseurl@/repo</url> + <url>${project.baseUri}/repo</url> </repository> </repositories> </project> diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.md5 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.md5 deleted file mode 100644 index 9fd5ca2..0000000 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -0e871be0b2826cd1b685c08c1ac592b7 \ No newline at end of file diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.sha1 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.sha1 deleted file mode 100644 index a8b0235..0000000 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -e4661f80f5265a892f65aad88613b39ac25b3265 \ No newline at end of file diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.md5 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.md5 deleted file mode 100644 index 10cf264..0000000 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -41e65e1263946b235faf620172565687 \ No newline at end of file diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.sha1 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.sha1 deleted file mode 100644 index 23f7629..0000000 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -d2c3318bde4e19f9b4d8aedd01bf2edf061f73b9 \ No newline at end of file diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom similarity index 79% rename from core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom rename to core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom index 5420f7b..5e473bd 100644 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/a/0.1/a-0.1.pom +++ b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom @@ -23,7 +23,7 @@ under the License. <modelVersion>4.0.0</modelVersion> <groupId>org.apache.maven.its.mng6772</groupId> - <artifactId>a</artifactId> + <artifactId>bom-a</artifactId> <version>0.1</version> <packaging>pom</packaging> @@ -31,11 +31,17 @@ under the License. <dependencies> <dependency> <groupId>org.apache.maven.its.mng6772</groupId> - <artifactId>b</artifactId> + <artifactId>bom-b</artifactId> <version>0.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> + <!--repositories> future addition: this repository definition should be ignored when downloading bom-b + <repository> + <id>central</id> + <url>http://0.0.0.0/defined-in/bom-a</url> + </repository> + </repositories--> </project> diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom.sha1 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom.sha1 new file mode 100644 index 0000000..bc13ac7 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-a/0.1/bom-a-0.1.pom.sha1 @@ -0,0 +1 @@ +f6654f53a3d96b2655ca496d1dc14cde11420dfb \ No newline at end of file diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom similarity index 97% rename from core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom rename to core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom index 4387411..da33c8f 100644 --- a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/b/0.1/b-0.1.pom +++ b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom @@ -23,7 +23,7 @@ under the License. <modelVersion>4.0.0</modelVersion> <groupId>org.apache.maven.its.mng6772</groupId> - <artifactId>b</artifactId> + <artifactId>bom-b</artifactId> <version>0.1</version> <packaging>pom</packaging> diff --git a/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom.sha1 b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom.sha1 new file mode 100644 index 0000000..561e01e --- /dev/null +++ b/core-it-suite/src/test/resources/mng-6772-override-in-project/repo/org/apache/maven/its/mng6772/bom-b/0.1/bom-b-0.1.pom.sha1 @@ -0,0 +1 @@ +73824ba3535c90baceeced927dc0a1b23cf4714d \ No newline at end of file
