I finally got everything working, but I'm also experiencing a strange side effect. The common-test.xml[1] script is called from each archetype's pom.xml:
<profiles> <profile> <id>integration-test</id> <activation> <property> <name>!maven.test.skip</name> </property> </activation> <build> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <configuration> <tasks> <ant antfile="../common-test.xml" dir="."> <property name="archetype" value="${pom.artifactId}"/> <property name="version" value="${pom.version}"/> </ant> </tasks> </configuration> <executions> <execution> <phase>integration-test</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> However, there's something in these archetype tests that causes downstream antrun executions to fail. This no longer works: <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <configuration> <tasks> <taskdef resource="webtest_base_relaxed.taskdef"> <classpath refid="maven.test.classpath"/> </taskdef> AFAICT, the classpath is somehow getting messed up by the archetype Ant execution. If I comment out the archetype tests, the above taskdef works. Strangely enough, the archetype tests create archetypes and run integration tests with the same <taskdef> and it works fine. Do I need to fork the JVM or something to get this to work? Has anyone else experienced antrun executions causing issues with other antrun executions? Thanks, Matt [1] common-test.xml: <?xml version="1.0" encoding="UTF-8"?> <!-- This file is imported in the archetype pom.xml files for integration tests --> <project name="common-test" default="test"> <property name="version" value="${version}"/> <property name="archetype" value="${archetype}"/> <property name="test.dir" value="${basedir}/target/test-archetype"/> <target name="test" description="Tests that 'mvn integration-test' works with archetype"> <echo message="Creating archetype '${archetype}', version '${version}'"/> <test archetype="${archetype}" version="${version}"/> </target> <macrodef name="test"> <attribute name="archetype"/> <attribute name="version"/> <sequential> <delete dir="${test.dir}"/> <mkdir dir="${test.dir}"/> <maven dir="${basedir}" command="install -Dmaven.test.skip=true"/> <maven dir="${test.dir}" archetype="@{archetype}" version="@{version}" /> <maven dir="${test.dir}/archetype" command="integration-test"/> </sequential> </macrodef> <macrodef name="maven"> <attribute name="dir"/> <attribute name="name" default=""/> <attribute name="archetype" default=""/> <attribute name="version" default=""/> <attribute name="command" default="archetype:create -DarchetypeGroupId=org.appfuse [EMAIL PROTECTED] [EMAIL PROTECTED] -DgroupId=com.mycompany -DartifactId=archetype"/> <sequential> <exec dir="@{dir}" executable="mvn.bat" os="Windows XP" failonerror="true"> <arg line="@{command}"/> </exec> <exec dir="@{dir}" executable="mvn" os="Mac OS X" failonerror="true"> <arg line="@{command}"/> </exec> <exec dir="@{dir}" executable="mvn" os="Linux" failonerror="true"> <arg line="@{command}"/> </exec> </sequential> </macrodef> </project> -- View this message in context: http://www.nabble.com/Testing-archetypes-with-Ant-tf3167091s177.html#a8810296 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]