Repository: maven-integration-testing Updated Branches: refs/heads/master 4cdbfa2e0 -> 9667faeaa
MNG-5771 basic IT to validate core extensions loading Signed-off-by: Igor Fedorenko <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/9667faea Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/9667faea Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/9667faea Branch: refs/heads/master Commit: 9667faeaaeee2bd1e29717a065cd5fea11ecfac7 Parents: 4cdbfa2 Author: Igor Fedorenko <[email protected]> Authored: Wed Aug 24 17:26:37 2011 -0400 Committer: Igor Fedorenko <[email protected]> Committed: Fri Feb 20 10:33:32 2015 -0500 ---------------------------------------------------------------------- .../apache/maven/it/IntegrationTestSuite.java | 1 + .../it/MavenITmng5771CoreExtensionsTest.java | 51 ++++++++++++++ .../client-no-descriptor/.mvn/extensions.xml | 29 ++++++++ .../client-no-descriptor/pom.xml | 54 +++++++++++++++ .../client/.mvn/extensions.xml | 28 ++++++++ .../mng-5771-core-extensions/client/pom.xml | 55 ++++++++++++++++ .../.gitignore | 1 + .../pom.xml | 65 ++++++++++++++++++ .../TestClassRealmManagerDelegate.java | 15 +++++ .../TestCoreExtensionComponent.java | 9 +++ .../maven-it-core-extensions/.gitignore | 1 + .../repo-src/maven-it-core-extensions/pom.xml | 65 ++++++++++++++++++ .../TestClassRealmManagerDelegate.java | 15 +++++ .../TestCoreExtensionComponent.java | 9 +++ .../main/resources/META-INF/maven/extension.xml | 29 ++++++++ .../.gitignore | 1 + .../pom.xml | 66 +++++++++++++++++++ .../plugin/ValidateClasspathMojo.java | 26 ++++++++ .../plugin/ValidateComponentMojo.java | 28 ++++++++ ...ven-it-core-extensions-no-descriptor-0.1.jar | Bin 0 -> 4674 bytes ...ven-it-core-extensions-no-descriptor-0.1.pom | 65 ++++++++++++++++++ .../0.1/maven-it-core-extensions-0.1.jar | Bin 0 -> 5276 bytes .../0.1/maven-it-core-extensions-0.1.pom | 65 ++++++++++++++++++ ...ven-it-plugin-core-extensions-client-0.1.jar | Bin 0 -> 6394 bytes ...ven-it-plugin-core-extensions-client-0.1.pom | 66 +++++++++++++++++++ .../settings-template.xml | 43 ++++++++++++ 26 files changed, 787 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index 8685af0..daec9a0 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -106,6 +106,7 @@ public class IntegrationTestSuite // ------------------------------------------------------------------------------------------------------------- // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 + suite.addTestSuite( MavenITmng5771CoreExtensionsTest.class ); suite.addTestSuite( MavenITmng5768CliExecutionIdTest.class ); suite.addTestSuite( MavenITmng5742BuildExtensionClassloaderTest.class ); suite.addTestSuite( MavenITmng5578SessionScopeTest.class ); http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5771CoreExtensionsTest.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5771CoreExtensionsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5771CoreExtensionsTest.java new file mode 100644 index 0000000..29f0119 --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5771CoreExtensionsTest.java @@ -0,0 +1,51 @@ +package org.apache.maven.it; + +import java.io.File; + +import org.apache.maven.it.util.ResourceExtractor; + +public class MavenITmng5771CoreExtensionsTest + extends AbstractMavenIntegrationTestCase +{ + public MavenITmng5771CoreExtensionsTest() + { + super( "(3.2.5,)" ); + } + + public void testCoreExtension() + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5771-core-extensions" ); + + Verifier verifier = newVerifier( testDir.getAbsolutePath() ); + verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() ); + + verifier = newVerifier( new File( testDir, "client" ).getAbsolutePath() ); + verifier.deleteDirectory( "target" ); + verifier.deleteArtifacts( "org.apache.maven.its.it-core-extensions" ); + verifier.getCliOptions().add( "-s" ); + verifier.getCliOptions().add( new File( testDir, "settings.xml" ).getAbsolutePath() ); + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } + + public void testCoreExtensionNoDescriptor() + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-5771-core-extensions" ); + + Verifier verifier = newVerifier( testDir.getAbsolutePath() ); + verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() ); + + verifier = newVerifier( new File( testDir, "client-no-descriptor" ).getAbsolutePath() ); + verifier.deleteDirectory( "target" ); + verifier.deleteArtifacts( "org.apache.maven.its.it-core-extensions" ); + verifier.getCliOptions().add( "-s" ); + verifier.getCliOptions().add( new File( testDir, "settings.xml" ).getAbsolutePath() ); + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } + +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/.mvn/extensions.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/.mvn/extensions.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/.mvn/extensions.xml new file mode 100644 index 0000000..65cf0de --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/.mvn/extensions.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + + +<extensions> + <extension> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions-no-descriptor</artifactId> + <version>0.1</version> + </extension> +</extensions> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/pom.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/pom.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/pom.xml new file mode 100644 index 0000000..e85d957 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/client-no-descriptor/pom.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>test</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: it-core-extensions</name> + <description> + Verify that Maven loads core extensions and components contributed by the extensions are available to regular + plugins. + </description> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-plugin-core-extensions-client</artifactId> + <version>0.1</version> + <executions> + <execution> + <id>validate-extensions</id> + <phase>validate</phase> + <goals> + <goal>validate-component</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/client/.mvn/extensions.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/client/.mvn/extensions.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/client/.mvn/extensions.xml new file mode 100644 index 0000000..9fa3de9 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/client/.mvn/extensions.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<extensions> + <extension> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions</artifactId> + <version>0.1</version> + </extension> +</extensions> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/client/pom.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/client/pom.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/client/pom.xml new file mode 100644 index 0000000..b4048e9 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/client/pom.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>test</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: it-core-extensions</name> + <description> + Verify that Maven loads core extensions and components contributed by the extensions are available to regular + plugins. + </description> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-plugin-core-extensions-client</artifactId> + <version>0.1</version> + <executions> + <execution> + <id>validate-extensions</id> + <phase>validate</phase> + <goals> + <goal>validate-component</goal> + <goal>validate-classpath</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/.gitignore ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/.gitignore b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/.gitignore @@ -0,0 +1 @@ +/target/ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/pom.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/pom.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/pom.xml new file mode 100644 index 0000000..5183fdf --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/pom.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions-no-descriptor</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: maven-it-core-extensions</name> + <description> + Maven core extensions components + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> + <version>1.5.5</version> + <executions> + <execution> + <goals> + <goal>generate-metadata</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java new file mode 100644 index 0000000..3b07479 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java @@ -0,0 +1,15 @@ +package org.apache.maven.its.core_extensions; + +import org.apache.maven.classrealm.ClassRealmManagerDelegate; +import org.apache.maven.classrealm.ClassRealmRequest; +import org.codehaus.plexus.classworlds.realm.ClassRealm; +import org.codehaus.plexus.component.annotations.Component; + +@Component( role = ClassRealmManagerDelegate.class, hint = "TestClassRealmManagerDelegate" ) +public class TestClassRealmManagerDelegate + implements ClassRealmManagerDelegate +{ + public void setupRealm( ClassRealm classRealm, ClassRealmRequest request ) + { + } +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java new file mode 100644 index 0000000..cef2b21 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions-no-descriptor/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java @@ -0,0 +1,9 @@ +package org.apache.maven.its.core_extensions; + +import org.codehaus.plexus.component.annotations.Component; + +@Component( role = TestCoreExtensionComponent.class ) +public class TestCoreExtensionComponent +{ + +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/.gitignore ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/.gitignore b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/.gitignore @@ -0,0 +1 @@ +/target/ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/pom.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/pom.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/pom.xml new file mode 100644 index 0000000..6fba809 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/pom.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: maven-it-core-extensions</name> + <description> + Maven core extensions components + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> + <version>1.5.5</version> + <executions> + <execution> + <goals> + <goal>generate-metadata</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java new file mode 100644 index 0000000..3b07479 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestClassRealmManagerDelegate.java @@ -0,0 +1,15 @@ +package org.apache.maven.its.core_extensions; + +import org.apache.maven.classrealm.ClassRealmManagerDelegate; +import org.apache.maven.classrealm.ClassRealmRequest; +import org.codehaus.plexus.classworlds.realm.ClassRealm; +import org.codehaus.plexus.component.annotations.Component; + +@Component( role = ClassRealmManagerDelegate.class, hint = "TestClassRealmManagerDelegate" ) +public class TestClassRealmManagerDelegate + implements ClassRealmManagerDelegate +{ + public void setupRealm( ClassRealm classRealm, ClassRealmRequest request ) + { + } +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java new file mode 100644 index 0000000..cef2b21 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/java/org/apache/maven/its/core_extensions/TestCoreExtensionComponent.java @@ -0,0 +1,9 @@ +package org.apache.maven.its.core_extensions; + +import org.codehaus.plexus.component.annotations.Component; + +@Component( role = TestCoreExtensionComponent.class ) +public class TestCoreExtensionComponent +{ + +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/resources/META-INF/maven/extension.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/resources/META-INF/maven/extension.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/resources/META-INF/maven/extension.xml new file mode 100644 index 0000000..ffe6b2b --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-core-extensions/src/main/resources/META-INF/maven/extension.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<extension> + <exportedPackages> + <exportedPackage>org.apache.maven.its.core_extensions</exportedPackage> + </exportedPackages> + <exportedArtifacts> + <exportedArtifact>org.apache.maven.its.it-core-extensions:maven-it-core-extensions</exportedArtifact> + </exportedArtifacts> +</extension> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/.gitignore ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/.gitignore b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/.gitignore @@ -0,0 +1 @@ +/target/ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/pom.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/pom.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/pom.xml new file mode 100644 index 0000000..dcedb51 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/pom.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-plugin-core-extensions-client</artifactId> + <version>0.1</version> + <packaging>maven-plugin</packaging> + + <name>Maven Integration Test :: maven-it-plugin-core-extensions-client</name> + <description> + Maven plugin that fails if expected components were not contributed by the core extension + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>3.3</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions</artifactId> + <version>0.1</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateClasspathMojo.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateClasspathMojo.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateClasspathMojo.java new file mode 100644 index 0000000..0eee806 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateClasspathMojo.java @@ -0,0 +1,26 @@ +package org.apache.maven.its.it_core_extensions.plugin; + +import org.apache.maven.its.core_extensions.TestCoreExtensionComponent; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Component; +import org.apache.maven.plugins.annotations.Mojo; + +@Mojo( name = "validate-classpath" ) +public class ValidateClasspathMojo + extends AbstractMojo +{ + @Component + private TestCoreExtensionComponent component; + + public void execute() + throws MojoExecutionException, MojoFailureException + { + if ( this.component == null ) + { + throw new MojoExecutionException( "Expected core extension component is not available" ); + } + } + +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateComponentMojo.java ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateComponentMojo.java b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateComponentMojo.java new file mode 100644 index 0000000..22aa084 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo-src/maven-it-plugin-core-extensions-client/src/main/java/org/apache/maven/its/it_core_extensions/plugin/ValidateComponentMojo.java @@ -0,0 +1,28 @@ +package org.apache.maven.its.it_core_extensions.plugin; + +import java.util.Map; + +import org.apache.maven.classrealm.ClassRealmManagerDelegate; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Component; +import org.apache.maven.plugins.annotations.Mojo; + +@Mojo( name = "validate-component" ) +public class ValidateComponentMojo + extends AbstractMojo +{ + @Component + private Map<String, ClassRealmManagerDelegate> delegates; + + public void execute() + throws MojoExecutionException, MojoFailureException + { + ClassRealmManagerDelegate delegate = delegates.get( "TestClassRealmManagerDelegate" ); + if ( delegate == null ) + { + throw new MojoExecutionException( "Expected core extension component is not available" ); + } + } +} http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.jar ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.jar b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.jar new file mode 100644 index 0000000..1e10665 Binary files /dev/null and b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.jar differ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.pom ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.pom new file mode 100644 index 0000000..5183fdf --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions-no-descriptor/0.1/maven-it-core-extensions-no-descriptor-0.1.pom @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions-no-descriptor</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: maven-it-core-extensions</name> + <description> + Maven core extensions components + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> + <version>1.5.5</version> + <executions> + <execution> + <goals> + <goal>generate-metadata</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.jar ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.jar b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.jar new file mode 100644 index 0000000..58d2d73 Binary files /dev/null and b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.jar differ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.pom ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.pom new file mode 100644 index 0000000..6fba809 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-core-extensions/0.1/maven-it-core-extensions-0.1.pom @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions</artifactId> + <version>0.1</version> + <packaging>jar</packaging> + + <name>Maven Integration Test :: maven-it-core-extensions</name> + <description> + Maven core extensions components + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-component-metadata</artifactId> + <version>1.5.5</version> + <executions> + <execution> + <goals> + <goal>generate-metadata</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.jar ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.jar b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.jar new file mode 100644 index 0000000..f36594f Binary files /dev/null and b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.jar differ http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.pom ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.pom b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.pom new file mode 100644 index 0000000..dcedb51 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/repo/org/apache/maven/its/it-core-extensions/maven-it-plugin-core-extensions-client/0.1/maven-it-plugin-core-extensions-client-0.1.pom @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-plugin-core-extensions-client</artifactId> + <version>0.1</version> + <packaging>maven-plugin</packaging> + + <name>Maven Integration Test :: maven-it-plugin-core-extensions-client</name> + <description> + Maven plugin that fails if expected components were not contributed by the core extension + </description> + + <!-- + mvn clean deploy -DaltDeploymentRepository=default::default::file:// + --> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>3.0.3</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>3.3</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.maven.its.it-core-extensions</groupId> + <artifactId>maven-it-core-extensions</artifactId> + <version>0.1</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/9667faea/core-it-suite/src/test/resources/mng-5771-core-extensions/settings-template.xml ---------------------------------------------------------------------- diff --git a/core-it-suite/src/test/resources/mng-5771-core-extensions/settings-template.xml b/core-it-suite/src/test/resources/mng-5771-core-extensions/settings-template.xml new file mode 100644 index 0000000..8649e57 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-5771-core-extensions/settings-template.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +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. +--> + +<settings> + <profiles> + <profile> + <id>maven-core-it-repo</id> + <pluginRepositories> + <pluginRepository> + <id>maven-core-it</id> + <url>@baseurl@/repo</url> + <releases> + <checksumPolicy>ignore</checksumPolicy> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </pluginRepository> + </pluginRepositories> + </profile> + </profiles> + <activeProfiles> + <activeProfile>maven-core-it-repo</activeProfile> + </activeProfiles> +</settings>
