package org.apache.maven.integrationTests; import java.io.File; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; import org.apache.maven.integrationtests.AbstractMavenIntegrationTestCase; import org.apache.maven.it.Verifier; import org.apache.maven.it.util.ResourceExtractor; /** * expected project.getArtifacts() results: * * direct-dependency-groupId:direct-dependency-artifactId:jar:1:compile * transitive-dependency-new-groupId:transitive-dependency-artifactId:jar:2:compile * other-groupId:other-artifactId-a:jar:1:compile * other-groupId:other-artifactId-b:jar:1:compile * * org.apache.maven.project.MavenProject#.getArtifacts() is called with goal: * org.apache.maven.its:mng3380.plugin:mng-3380-test * */ public class MavenITmng3380DependencyManagementForTransitiveAndRelocatedTest extends AbstractMavenIntegrationTestCase { public MavenITmng3380DependencyManagementForTransitiveAndRelocatedTest() throws InvalidVersionSpecificationException { super("(2.0.8,)"); } public void testitMNGxxxx() throws Exception { // compute test directory File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-3380-DependencyManagementForTransitiveAndRelocated"); Verifier verifier; verifier = new Verifier(testDir.getAbsolutePath()); // delete testing plugin verifier.deleteArtifact( // "org.apache.maven.its", // "mng3380.plugin", // "1", // "jar"); verifier.deleteArtifact( // "org.apache.maven.its", // "mng3380.plugin", // "1", // "pom"); verifier.assertArtifactNotPresent( // "org.apache.maven.its", // "mng3380.plugin", // "1", // "jar"); verifier.assertArtifactNotPresent( // "org.apache.maven.its", // "mng3380.plugin", // "1", // "pom"); // delete projects verifier.deleteArtifact( // "other-groupId", // "other-artifactId-c", // "1", // "jar"); verifier.deleteArtifact( // "other-groupId", // "other-artifactId-c", // "1", // "pom"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-c", // "1", // "jar"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-c", // "1", // "pom"); verifier.deleteArtifact( // "other-groupId", // "other-artifactId-b", // "1", // "jar"); verifier.deleteArtifact( // "other-groupId", // "other-artifactId-b", // "1", // "pom"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-b", // "1", // "jar"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-b", // "1", // "pom"); verifier.deleteArtifact( // "other-groupId", // "other-artifactId-a", // "1", // "jar"); verifier.deleteArtifact( // "other-groupId", // "other-artifactId-a", // "1", // "pom"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-a", // "1", // "jar"); verifier.assertArtifactNotPresent( // "other-groupId", // "other-artifactId-a", // "1", // "pom"); verifier.deleteArtifact( // "transitive-dependency-old-groupId", // "transitive-dependency-artifactId", // "1", // "jar"); verifier.deleteArtifact( // "transitive-dependency-old-groupId", // "transitive-dependency-artifactId", // "1", // "pom"); verifier.assertArtifactNotPresent( // "transitive-dependency-old-groupId", // "transitive-dependency-artifactId", // "1", // "jar"); verifier.assertArtifactNotPresent( // "transitive-dependency-old-groupId", // "transitive-dependency-artifactId", // "1", // "pom"); verifier.deleteArtifact( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "1", // "jar"); verifier.deleteArtifact( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "1", // "pom"); verifier.assertArtifactNotPresent( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "1", // "jar"); verifier.assertArtifactNotPresent( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "1", // "pom"); verifier.deleteArtifact( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "2", // "jar"); verifier.deleteArtifact( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "2", // "pom"); verifier.assertArtifactNotPresent( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "2", // "jar"); verifier.assertArtifactNotPresent( // "transitive-dependency-new-groupId", // "transitive-dependency-artifactId", // "2", // "pom"); verifier.deleteArtifact( // "direct-dependency-groupId", // "direct-dependency-artifactId", // "1", // "jar"); verifier.deleteArtifact( // "direct-dependency-groupId", // "direct-dependency-artifactId", // "1", // "pom"); verifier.assertArtifactNotPresent( // "direct-dependency-groupId", // "direct-dependency-artifactId", // "1", // "jar"); verifier.assertArtifactNotPresent( // "direct-dependency-groupId", // "direct-dependency-artifactId", // "1", // "pom"); verifier.deleteArtifact( // "root-groupId", // "root-artifactId", // "1", // "jar"); verifier.deleteArtifact( // "root-groupId", // "root-artifactId", // "1", // "pom"); verifier.assertArtifactNotPresent( // "root-groupId", // "root-artifactId", // "1", // "jar"); verifier.assertArtifactNotPresent( // "root-groupId", // "root-artifactId", // "1", // "pom"); // install test plugin String path = testDir.getAbsolutePath() // + "/plugin/org.apache.maven.its/mng3380.plugin/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); // install projects path = testDir.getAbsolutePath() // + "/projects/other-groupId/other-artifactId-c/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/other-groupId/other-artifactId-b/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/other-groupId/other-artifactId-a/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/transitive-dependency-old-groupId/transitive-dependency-artifactId/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/transitive-dependency-new-groupId/transitive-dependency-artifactId/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/transitive-dependency-new-groupId/transitive-dependency-artifactId/2"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/direct-dependency-groupId/direct-dependency-artifactId/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); path = testDir.getAbsolutePath() // + "/projects/root-groupId/root-artifactId/1"; verifier = new Verifier(path); verifier.executeGoal("clean"); verifier.executeGoal("install"); // verify no errors so far verifier.verifyErrorFreeLog(); verifier.resetStreams(); // finally check to see if correct stuff was there verifier .executeGoal("org.apache.maven.its:mng3380.plugin:mng-3380-test"); verifier.verifyErrorFreeLog(); } }