diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3506ArtifactHandlerExtensionUsageTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3506ArtifactHandlerExtensionUsageTest.java new file mode 100644 index 0000000000..3bfd33540d --- /dev/null +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3506ArtifactHandlerExtensionUsageTest.java @@ -0,0 +1,79 @@ +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.util.ResourceExtractor; + +import java.io.File; +import java.io.IOException; + +/** + * This is a test set for MNG-3506. + * + * @author John Casey + * @version $Id$ + */ +public class MavenITmng3506ArtifactHandlerExtensionUsageTest + extends AbstractMavenIntegrationTestCase +{ + + private static final String GID = "org.apache.maven.it.mng3506"; + private static final String AID = "mng-3506"; + private static final String VERSION = "1"; + private static final String TYPE = "jar"; + private static final String BAD_TYPE = "coreit"; + + public MavenITmng3506ArtifactHandlerExtensionUsageTest() + { + super( "(2.2.0,)" ); + } + + public void testProjectPackagingUsage() + throws IOException, VerificationException + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3506" ); + + Verifier verifier = new Verifier( testDir.getAbsolutePath() ); + + // remove the artifact+POM that should be installed here. + verifier.deleteArtifact( GID, AID, VERSION, "pom" ); + verifier.deleteArtifact( GID, AID, VERSION, TYPE ); + + // shouldn't exist, but we want to make sure we're testing the current pass properly... + verifier.deleteArtifact( GID, AID, VERSION, BAD_TYPE ); + + verifier.executeGoal( "install" ); + + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + // Now, if everything worked, we have a .pom and a .jar in the local repo. + // IF IT DIDN'T, we have a .pom and a .coreit in the local repo... + + String path = verifier.getArtifactPath( GID, AID, VERSION, TYPE ); + assertTrue( path + " should have been installed.", new File( path ).exists() ); + + path = verifier.getArtifactPath( GID, AID, VERSION, "pom" ); + assertTrue( path + " should have been installed.", new File( path ).exists() ); + + path = verifier.getArtifactPath( GID, AID, VERSION, BAD_TYPE ); + assertFalse( path + " should NOT have been installed.", new File( path ).exists() ); + } +} diff --git a/its/core-it-suite/src/test/resources/mng-3506/pom.xml b/its/core-it-suite/src/test/resources/mng-3506/pom.xml new file mode 100644 index 0000000000..470e3389f4 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-3506/pom.xml @@ -0,0 +1,24 @@ + + 4.0.0 + org.apache.maven.it.mng3506 + mng-3506 + 1 + + + coreit + + + + + org.apache.maven.its + core-it-extension + 2.1-SNAPSHOT + + + + diff --git a/its/core-it-suite/src/test/resources/mng-3506/src/main/java/org/apache/maven/it/mng3506/App.java b/its/core-it-suite/src/test/resources/mng-3506/src/main/java/org/apache/maven/it/mng3506/App.java new file mode 100644 index 0000000000..37234fd584 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-3506/src/main/java/org/apache/maven/it/mng3506/App.java @@ -0,0 +1,13 @@ +package org.apache.maven.it.mng3506; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/its/core-it-support/core-it-extension/pom.xml b/its/core-it-support/core-it-extension/pom.xml new file mode 100644 index 0000000000..52f37cda81 --- /dev/null +++ b/its/core-it-support/core-it-extension/pom.xml @@ -0,0 +1,48 @@ + + + + + + 4.0.0 + + + core-integration-testing + org.apache.maven.its + 2.1-SNAPSHOT + + + core-it-extension + + Maven Integration Test Extension + + + + + junit + junit + 3.8.2 + runtime + + + diff --git a/its/core-it-support/core-it-extension/src/main/resources/META-INF/plexus/components.xml b/its/core-it-support/core-it-extension/src/main/resources/META-INF/plexus/components.xml new file mode 100644 index 0000000000..56d23caded --- /dev/null +++ b/its/core-it-support/core-it-extension/src/main/resources/META-INF/plexus/components.xml @@ -0,0 +1,62 @@ + + + + + + org.apache.maven.artifact.handler.ArtifactHandler + coreit + org.apache.maven.artifact.handler.DefaultArtifactHandler + + coreit + coreit + jar + java + true + + + + + org.apache.maven.lifecycle.mapping.LifecycleMapping + coreit + org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping + + + + default + + org.apache.maven.plugins:maven-resources-plugin:resources + org.apache.maven.plugins:maven-compiler-plugin:compile + + org.apache.maven.plugins:maven-resources-plugin:testResources + + org.apache.maven.plugins:maven-compiler-plugin:testCompile + org.apache.maven.plugins:maven-surefire-plugin:test + + org.apache.maven.plugins:maven-jar-plugin:jar + + org.apache.maven.plugins:maven-install-plugin:install + org.apache.maven.plugins:maven-deploy-plugin:deploy + + + + + + + \ No newline at end of file diff --git a/its/core-it-support/pom.xml b/its/core-it-support/pom.xml index ac1aee29b0..ba605ba5d4 100644 --- a/its/core-it-support/pom.xml +++ b/its/core-it-support/pom.xml @@ -1,5 +1,4 @@ - - - +--> 4.0.0 @@ -42,6 +39,7 @@ under the License. core-it-wagon core-it-support-artifacts maven-it-helper + core-it-extension @@ -73,4 +71,4 @@ under the License. - + \ No newline at end of file