Author: bentmann Date: Mon Oct 19 11:03:59 2009 New Revision: 826634 URL: http://svn.apache.org/viewvc?rev=826634&view=rev Log: [MNG-4396] [regression] Ant plugin fails with Maven-3
o Added IT Added: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java (with props) maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml (with props) maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/ (with props) maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml (with props) maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml (with props) maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml (with props) Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java maven/core-integration-testing/trunk/core-it-support/core-it-plugins/pom.xml maven/core-integration-testing/trunk/core-it-support/pom.xml Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java?rev=826634&r1=826633&r2=826634&view=diff ============================================================================== --- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java (original) +++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java Mon Oct 19 11:03:59 2009 @@ -85,6 +85,7 @@ // suite.addTestSuite( MavenIT0109ReleaseUpdateTest.class ); // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 + suite.addTestSuite( MavenITmng4396AntBasedMojoSupportTest.class ); suite.addTestSuite( MavenITmng4393ParseExternalParenPomLenientTest.class ); suite.addTestSuite( MavenITmng4387QuietLoggingTest.class ); suite.addTestSuite( MavenITmng4386DebugLoggingTest.class ); Added: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java?rev=826634&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java (added) +++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java Mon Oct 19 11:03:59 2009 @@ -0,0 +1,59 @@ +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 <a href="http://jira.codehaus.org/browse/MNG-4396">MNG-4396</a>. + * + * @author Benjamin Bentmann + */ +public class MavenITmng4396AntBasedMojoSupportTest + extends AbstractMavenIntegrationTestCase +{ + + public MavenITmng4396AntBasedMojoSupportTest() + { + super( ALL_MAVEN_VERSIONS ); + } + + /** + * Verify that plugins whose mojos are implemented as Ant scripts can be invoked. + */ + public void testit() + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4396" ); + + Verifier verifier = new Verifier( testDir.getAbsolutePath() ); + verifier.setAutoclean( false ); + verifier.deleteDirectory( "target" ); + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + verifier.assertFilePresent( "target/ant.txt" ); + } + +} Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4396AntBasedMojoSupportTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml?rev=826634&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml (added) +++ maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml Mon Oct 19 11:03:59 2009 @@ -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.mng4396</groupId> + <artifactId>test</artifactId> + <version>0.1</version> + + <name>Maven Integration Test :: MNG-4396</name> + <description> + Verify that plugins whose mojos are implemented as Ant scripts can be invoked. + </description> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.its.plugins</groupId> + <artifactId>maven-it-plugin-ant-based</artifactId> + <version>2.1-SNAPSHOT</version> + <configuration> + <outputFile>target/ant.txt</outputFile> + </configuration> + <executions> + <execution> + <id>test</id> + <phase>validate</phase> + <goals> + <goal>touch</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/core-integration-testing/trunk/core-it-suite/src/test/resources/mng-4396/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Mon Oct 19 11:03:59 2009 @@ -0,0 +1,7 @@ +target +*.iml +.classpath +.project +.settings +target-eclipse +bin Added: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml?rev=826634&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml (added) +++ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml Mon Oct 19 11:03:59 2009 @@ -0,0 +1,96 @@ +<?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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <artifactId>maven-it-plugins</artifactId> + <groupId>org.apache.maven.its.plugins</groupId> + <version>2.1-SNAPSHOT</version> + </parent> + + <artifactId>maven-it-plugin-ant-based</artifactId> + <packaging>maven-plugin</packaging> + + <name>Maven Integration Test Plugin :: Ant-Based</name> + <description> + A test plugin whose mojos are implemented via Ant scripts. + </description> + <inceptionYear>2009</inceptionYear> + + <properties> + <maven.test.skip>true</maven.test.skip> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-script-ant</artifactId> + <version>2.0.6</version> + <exclusions> + <exclusion> + <groupId>ant</groupId> + <artifactId>ant</artifactId> + </exclusion> + <exclusion> + <groupId>ant</groupId> + <artifactId>ant-launcher</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.ant</groupId> + <artifactId>ant</artifactId> + <version>1.7.1</version> + </dependency> + <dependency> + <groupId>org.apache.ant</groupId> + <artifactId>ant-launcher</artifactId> + <version>1.7.1</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-plugin-plugin</artifactId> + <!-- + NOTE: We deliberately use version 2.4.x here as it produces interesting plugin descriptors for Ant-based + mojos, namely something like <implementation>/touch.build.xml:touch</implementation>. Note the leading + slash in this case. This string will be used as a resource name to load the Ant script from the plugin + class path which requires some special treatment to work (ClassLoader.getResource() usually does not find + resources that have a leading slash). + NOTE: We use a version that is different from the version used by the other modules to workaround MNG-1323 + via MNG-3284. + --> + <version>2.4.2</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-tools-ant</artifactId> + <version>2.4.2</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> +</project> Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml?rev=826634&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml (added) +++ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml Mon Oct 19 11:03:59 2009 @@ -0,0 +1,27 @@ +<?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 name="IT" default="touch" basedir="."> + + <target name="touch" description="Creates a touch file."> + <echo level="info" message="[MAVEN-CORE-IT-LOG] Creating touch file ${outputFile}" /> + <touch file="${outputFile}" mkdirs="true" /> + </target> + +</project> Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.build.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml?rev=826634&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml (added) +++ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml Mon Oct 19 11:03:59 2009 @@ -0,0 +1,38 @@ +<?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. +--> +<pluginMetadata> + <mojos> + <mojo> + <goal>touch</goal> + <call>touch</call> + <description>Creates a touch file.</description> + <requiresProject>true</requiresProject> + <parameters> + <parameter> + <name>touch.outputFile</name> + <property>outputFile</property> + <defaultValue>target/touch.txt</defaultValue> + <type>java.io.File</type> + <description>The path to the touch file.</description> + </parameter> + </parameters> + </mojo> + </mojos> +</pluginMetadata> Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/maven-it-plugin-ant-based/src/main/scripts/touch.mojos.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/core-integration-testing/trunk/core-it-support/core-it-plugins/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-support/core-it-plugins/pom.xml?rev=826634&r1=826633&r2=826634&view=diff ============================================================================== --- maven/core-integration-testing/trunk/core-it-support/core-it-plugins/pom.xml (original) +++ maven/core-integration-testing/trunk/core-it-support/core-it-plugins/pom.xml Mon Oct 19 11:03:59 2009 @@ -33,6 +33,7 @@ <modules> <module>maven-it-plugin-active-collection</module> + <module>maven-it-plugin-ant-based</module> <module>maven-it-plugin-artifact</module> <module>maven-it-plugin-class-loader</module> <module>maven-it-plugin-configuration</module> Modified: maven/core-integration-testing/trunk/core-it-support/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-support/pom.xml?rev=826634&r1=826633&r2=826634&view=diff ============================================================================== --- maven/core-integration-testing/trunk/core-it-support/pom.xml (original) +++ maven/core-integration-testing/trunk/core-it-support/pom.xml Mon Oct 19 11:03:59 2009 @@ -16,7 +16,8 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -72,4 +73,4 @@ </repositories> </profile> </profiles> -</project> \ No newline at end of file +</project>