| <project name="maven-ant-tasks" default="test-all" xmlns:artifact="urn:maven-artifact-ant" xmlns:test="urn:test-tasks"> |
| <!-- |
| <project name="foo" default="foo" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> |
| --> |
| <!-- |
| You either need to run the the 'initTaskDefs' task below and |
| define the artifact namespace like above (choose anything you |
| like except strings that start with 'antlib:'), |
| and be sure to supply the path to the maven-artifact-ant jars |
| |
| OR |
| |
| just define the artifact namespace as follows: |
| |
| xmlns:artifact="antlib:org.apache.maven.artifact.ant" |
| |
| and be sure to add the maven-artifact-ant jars to the ant |
| classpath (either by setting the CLASSPATH environment variable |
| before calling ant, or place the jars in the $ANT_HOME/lib directory). |
| |
| |
| REQUIRED SETUP FOR RUNNING DEPLOYMENT TESTS |
| |
| Some of the deploy tests require that you have the ssh daemon (sshd) running |
| on your local system. This allows the deploy taks to scp artifacts to a local |
| test repository. |
| |
| How you start sshd will depend on your system. For example on Fedora Linux, |
| you can start the ssh deamon using "service sshd start" |
| |
| --> |
| |
| <target name="initClassloader"> |
| <path id="testclasspath" path="target/test-classes" /> |
| <typedef resource="test-tasks.xml" uri="urn:test-tasks" classpathref="testclasspath"/> |
| |
| <test:classloader set="classloader"/> |
| </target> |
| |
| <target name="checkClassloader"> |
| <test:classloader check="classloader"/> |
| </target> |
| |
| <target name="initTaskDefs" depends="initClassloader"> |
| <xmlproperty file="pom.xml" prefix="pom.xml" /> |
| |
| <path id="maven-ant-tasks.classpath" path="target/maven-ant-tasks-${pom.xml.project.version}.jar" /> |
| <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" |
| classpathref="maven-ant-tasks.classpath"/> |
| |
| <artifact:localRepository id="local.repository" path="${basedir}/target/local-repo" layout="default"/> |
| |
| <property name="deploy.repository.url" value="${basedir}/target/deployment-repo" /> |
| <artifact:remoteRepository id="deploy.repository" url="file://localhost/${deploy.repository.url}" layout="default"/> |
| |
| <artifact:pom file="pom.xml" id="maven.project"/> |
| |
| <test:classloader check="classloader"/> |
| </target> |
| |
| <target name="installSshProvider" depends="initTaskDefs"> |
| <artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-2"/> |
| </target> |
| |
| <target name="test-all-deps" description="All dependencies tests" |
| depends="test-pom, test-pom-profiles, test-pom-with-parent,test-no-deps,test-pom-deps, |
| test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order, |
| test-deps-sources,test-deps-sources-empty,test-deps-profile,test-deps-scopes,test-system-scope, |
| test-bad-scope"> |
| <echo>Some tests must be run manually, since they are intended to fail: |
| - test-bad-dep |
| - test-invalid-pom-ref |
| </echo> |
| </target> |
| |
| <target name="test-all-pubs" description="All publication tests (install/deploy)" |
| depends="test-deploy-spaces,test-deploy,test-no-dist-mgmt,test-install-attached,test-deploy-attached"/> |
| |
| <target name="test-all" description="All tests" |
| depends="test-all-deps,test-all-pubs,test-install-provider,checkClassloader,test-mvn"> |
| <echo>Tests completed successfully.</echo> |
| <echo>test-scm not run, since it fails...</echo> |
| </target> |
| |
| <target name="test-no-deps" depends="initTaskDefs"> |
| <artifact:dependencies filesetId="runtime.fileset" pathId="empty.dependency.classpath"> |
| </artifact:dependencies> |
| <copy todir="target/test-no-deps" verbose="true"> |
| <fileset refid="runtime.fileset"/> |
| </copy> |
| <property name="empty.property" refid="empty.dependency.classpath"/> |
| </target> |
| |
| <target name="test-empty-settings" depends="initTaskDefs"> |
| <artifact:dependencies filesetId="runtime.fileset" settingsFile="${basedir}/src/test/settings-empty.xml"> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-bad-dep" depends="initTaskDefs"> |
| <echo>Expected failure because foo:foo:jar:1.0-alpha-2 artifact does not exist.</echo> |
| <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset"> |
| <dependency groupId="foo" artifactId="foo" version="1.0-alpha-2"/> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-bad-scope" depends="initTaskDefs"> |
| <echo>Expected warning because 'bad-value' is not a valid scope. Error message must show official scopes. See MANTTASKS-190 for more information.</echo> |
| <artifact:dependencies> |
| <dependency groupId="commons-logging" artifactId="commons-logging" version="1.1.1" scope="bad-value"/> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-pom" depends="initTaskDefs"> |
| <artifact:pom file="pom.xml" id="my.maven.project"/> |
| |
| <echo>Artifact ID = ${my.maven.project.artifactId}</echo> |
| |
| <echo>Parent Artifact ID = ${my.maven.project.parent.artifactId}</echo> |
| |
| <fail message="failed to get pom info ${my.maven.project.artifactId}"> |
| <condition> |
| <not><equals arg1="${my.maven.project.artifactId}" arg2="${pom.xml.project.artifactId}"/></not> |
| </condition> |
| </fail> |
| |
| <echo>Maven Core Version = ${my.maven.project.properties.mavenVersion}</echo> |
| |
| <fail message="failed to get pom properties ${my.maven.project.properties.mavenVersion}"> |
| <condition> |
| <not><equals arg1="${my.maven.project.properties.mavenVersion}" arg2="${pom.xml.project.properties.mavenVersion}"/></not> |
| </condition> |
| </fail> |
| |
| <echo>project.build.directory = ${my.maven.project.build.directory}</echo> |
| |
| <fail message="failed to get basedir"> |
| <condition> |
| <contains string="${my.maven.project.build.directory}" substring="{"/> |
| </condition> |
| </fail> |
| </target> |
| |
| <target name="test-pom-profiles" depends="initTaskDefs"> |
| |
| <!-- Test default profile activation --> |
| <artifact:pom file="src/test/pom-with-profiles.xml" id="project.default"/> |
| |
| <echo>Current profile = ${project.default.build.finalName}</echo> |
| |
| <fail message="failed to activate profile default"> |
| <condition> |
| <not><equals arg1="${project.default.build.finalName}" arg2="default"/></not> |
| </condition> |
| </fail> |
| |
| <!-- Test explicit profile activation --> |
| <artifact:pom file="src/test/pom-with-profiles.xml" id="project.myprofile1" > |
| <profile id="myprofile1"/> |
| </artifact:pom> |
| |
| <echo>Current profile = ${project.myprofile1.build.finalName}</echo> |
| |
| <fail message="failed to activate profile myprofile1"> |
| <condition> |
| <not><equals arg1="${project.myprofile1.build.finalName}" arg2="myprofile1"/></not> |
| </condition> |
| </fail> |
| |
| <!-- Test explicit profile activation with "active" attr set --> |
| <artifact:pom file="src/test/pom-with-profiles.xml" id="project.myprofile2" > |
| <profile id="myprofile2" active="true"/> |
| </artifact:pom> |
| |
| <echo>Current profile = ${project.myprofile2.build.finalName}</echo> |
| |
| <fail message="failed to activate profile myprofile2"> |
| <condition> |
| <not><equals arg1="${project.myprofile2.build.finalName}" arg2="myprofile2"/></not> |
| </condition> |
| </fail> |
| |
| <!-- Test explicit profile deactivation --> |
| <artifact:pom file="src/test/pom-with-profiles.xml" id="project.noprofile" > |
| <profile id="default" active="false" /> |
| </artifact:pom> |
| |
| <echo>Current profile = ${project.noprofile.build.finalName}</echo> |
| |
| <fail message="failed to deactivate default profile"> |
| <condition> |
| <not><equals arg1="${project.noprofile.build.finalName}" arg2="noprofile"/></not> |
| </condition> |
| </fail> |
| </target> |
| |
| <target name="test-legacy-pom" depends="initTaskDefs"> |
| <artifact:dependencies> |
| <dependency groupId="geronimo-spec" artifactId="geronimo-spec-javamail" version="1.3.1-rc5" /> |
| <localRepository path="${basedir}/target/local-repo-legacy" /> |
| <remoteRepository url="http://repo1.maven.org/maven" layout="legacy" id="central" /> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-deps" depends="initTaskDefs"> |
| <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset" |
| verbose="true" versionsId="dependency.versions"> |
| <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test" version="1.0-alpha-4"> |
| <exclusion groupId="junit" artifactId="junit"/> |
| </dependency> |
| <dependency groupId="org.apache.maven" artifactId="maven-core-it-support-old-location" version="1.1"/> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueTrue" version="2.0.7-SNAPSHOT"/> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="http://repo1.maven.org/maven2" id="central" /> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"> |
| <snapshots enabled="true"/> |
| <releases enabled="false"/> |
| </remoteRepository> |
| </artifact:dependencies> |
| |
| <copy todir="target/files/binaries"> |
| <fileset refid="dependency.fileset"/> |
| </copy> |
| <!-- excluded dependency junit:junit --> |
| <check.file.not.exists file="target/files/binaries/junit/junit" type="dir"/> |
| <!-- SNAPSHOT dependency it.ant-tasks:snapshotUniqueFalse:2.0.7-SNAPSHOT --> |
| <check.file.exists file="target/files/binaries/it/ant-tasks/snapshotUniqueFalse" type="dir"/> |
| <!-- MANTTASKS-18: SNAPSHOT dependency it.ant-tasks:snapshotUniqueTrue:2.0.7-SNAPSHOT --> |
| <check.file.exists file="target/files/binaries/it/ant-tasks/snapshotUniqueTrue" type="dir"/> |
| |
| <!-- MANTTASKS-84 --> |
| <copy todir="target/files/versionMapperFlatten"> |
| <fileset refid="dependency.fileset"/> |
| <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" |
| from="${dependency.versions}" to="flatten" /> |
| </copy> |
| <!-- VersionMapper to="flatten" on SNAPSHOT --> |
| <check.file.not.exists file="target/files/versionMapperFlatten/it" type="dir"/> |
| |
| <!-- MANTTASKS-33: property it.ant-tasks:snapshotUniqueFalse:jar should point to an existing file --> |
| <check.file.exists file="${it.ant-tasks:snapshotUniqueTrue:jar}"/> |
| </target> |
| |
| <target name="test-pom-deps" depends="initTaskDefs"> |
| <artifact:dependencies filesetId="maven-ant-tasks.dependency.fileset"> |
| <pom refid="maven.project"/> |
| </artifact:dependencies> |
| |
| <copy todir="target/maven-ant-tasks-dependencies"> |
| <fileset refid="maven-ant-tasks.dependency.fileset"/> |
| </copy> |
| |
| <artifact:dependencies filesetId="maven-ant-tasks.compile.dependency.fileset" versionsId="maven-ant-tasks.compile.dependency.versions" useScope="compile"> |
| <pom refid="maven.project"/> |
| </artifact:dependencies> |
| <echo>dependencies versions: ${maven-ant-tasks.compile.dependency.versions}</echo> |
| |
| <copy todir="target/maven-ant-tasks-compile-dependencies/fileset"> |
| <fileset refid="maven-ant-tasks.compile.dependency.fileset"/> |
| </copy> |
| |
| <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapper"> |
| <fileset refid="maven-ant-tasks.compile.dependency.fileset"/> |
| <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" |
| from="${maven-ant-tasks.compile.dependency.versions}" /> |
| </copy> |
| |
| <copy todir="target/maven-ant-tasks-compile-dependencies/versionMapperFlatten"> |
| <fileset refid="maven-ant-tasks.compile.dependency.fileset"/> |
| <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" |
| from="${maven-ant-tasks.compile.dependency.versions}" to="flatten" /> |
| </copy> |
| |
| <copy todir="target/maven-ant-tasks-compile-dependencies/WEB-INF/lib"> |
| <fileset refid="maven-ant-tasks.compile.dependency.fileset"/> |
| <mapper type="flatten"/> |
| </copy> |
| </target> |
| |
| <target name="test-deps-mirror" depends="initTaskDefs"> |
| <delete dir="${basedir}/target/tmp"/> |
| <!-- the remoteRepository specified doesn't really exist, but settings declares an existing mirror --> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-mirror.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| <remoteRepository url="file://${basedir}/target/fake/repository" id="fake-repository" /> |
| </artifact:dependencies> |
| |
| <delete dir="${basedir}/target/tmp"/> |
| <!-- the remoteRepository specified doesn't really exist, but settings declares an existing mirror for * --> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-mirror-wildcard.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| <remoteRepository url="file://${basedir}/target/fake/repository" id="any" /> |
| </artifact:dependencies> |
| |
| <!-- MANTTASKS-141 --> |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-mirror-complex.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueTrue" version="2.0.8-SNAPSHOT"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| <remoteRepository url="file://${basedir}/target/fake/repository" id="test" /> |
| </artifact:dependencies> |
| <check.file.not.exists file="target/tmp/it/ant-tasks/snapshotUniqueTrue/2.0.8-SNAPSHOT/maven-metadata-test.xml" type="file"/> |
| <check.file.exists file="target/tmp/it/ant-tasks/snapshotUniqueTrue/2.0.8-SNAPSHOT/maven-metadata-mirror-cd.xml" type="file"/> |
| |
| <!-- MANTTASKS-141 --> |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-mirror-complex.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| <remoteRepository url="file://${basedir}/target/fake/repository" id="yat" /> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-deps-two-repos" depends="initTaskDefs"> |
| <delete dir="target/tmp"/> |
| <!-- MANTTASKS-78 --> |
| <artifact:dependencies verbose="true"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository path="target/tmp"/> |
| <remoteRepository url="file://${user.dir}/src/test/repo"/> <!-- intentionnally left without id --> |
| <remoteRepository url="file://${user.dir}/target/tmp/fake"/><!-- intentionnally left without id --> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-deps-order" depends="initTaskDefs"> |
| <artifact:dependencies pathId="order.path"> |
| <dependency groupId="junit" artifactId="junit" version="3.8.1"/> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="http://repo1.maven.org/maven2" id="central" /> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"> |
| <snapshots enabled="true"/> |
| <releases enabled="false"/> |
| </remoteRepository> |
| </artifact:dependencies> |
| |
| <pathconvert property="order.property" targetos="unix" refid="order.path"> |
| <mapper type="flatten"/> |
| </pathconvert> |
| <condition property="order.ok"> |
| <equals arg1="${order.property}" arg2="junit-3.8.1.jar:snapshotUniqueFalse-2.0.7-SNAPSHOT.jar"/> |
| </condition> |
| <fail unless="order.ok">dependencies junit then it.ant-tasks should be preserved in path: ${order.property}</fail> |
| |
| <artifact:dependencies pathId="reverse.order.path"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <dependency groupId="junit" artifactId="junit" version="3.8.1"/> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="http://repo1.maven.org/maven2" id="central" /> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"> |
| <snapshots enabled="true"/> |
| <releases enabled="false"/> |
| </remoteRepository> |
| </artifact:dependencies> |
| |
| <pathconvert property="reverse.order.property" targetos="unix" refid="reverse.order.path"> |
| <mapper type="flatten"/> |
| </pathconvert> |
| <condition property="reverse.order.ok"> |
| <equals arg1="${reverse.order.property}" arg2="snapshotUniqueFalse-2.0.7-SNAPSHOT.jar:junit-3.8.1.jar"/> |
| </condition> |
| <fail unless="reverse.order.ok">dependencies junit then it.ant-tasks should be preserved in path: ${reverse.order.property}</fail> |
| |
| <artifact:pom file="src/test/pom-order.xml" id="order.project"/> |
| <artifact:dependencies pathId="pom.order.path" verbose="true"> |
| <pom refid="order.project"/> |
| </artifact:dependencies> |
| <pathconvert property="pom.order.property" targetos="unix" refid="pom.order.path"> |
| <mapper type="flatten"/> |
| </pathconvert> |
| <condition property="pom.order.ok"> |
| <equals arg1="${pom.order.property}" arg2="commons-io-1.3.2.jar:commons-lang-2.3.jar:commons-logging-1.1.1.jar:commons-collections-3.2.jar"/> |
| </condition> |
| <fail unless="pom.order.ok">order of dependencies defined in pom should be preserved in path: ${pom.order.property}</fail> |
| </target> |
| |
| <target name="test-deps-sources" depends="initTaskDefs"> |
| <artifact:dependencies filesetId="jar.fileset" sourcesFilesetId="sources.fileset" javadocFilesetId="javadoc.fileset"> |
| <dependency groupId="it.ant-tasks" artifactId="release" version="2.0.7"/> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"> |
| <snapshots enabled="false"/> |
| <releases enabled="true"/> |
| </remoteRepository> |
| </artifact:dependencies> |
| |
| <delete dir="${basedir}/target/files/sources"/> |
| <copy todir="${basedir}/target/files/sources"> |
| <fileset refid="sources.fileset"/> |
| <mapper type="flatten"/> |
| </copy> |
| <!-- release sources --> |
| <check.file.exists file="${basedir}/target/files/sources/release-2.0.7-sources.jar"/> |
| <!-- property it.ant-tasks:release:java-source:sources should point to an existing file in local repo --> |
| <check.file.exists file="${it.ant-tasks:release:java-source:sources}"/> |
| |
| <delete dir="${basedir}/target/files/javadoc"/> |
| <copy todir="${basedir}/target/files/javadoc"> |
| <fileset refid="javadoc.fileset"/> |
| <mapper type="flatten"/> |
| </copy> |
| |
| <!-- release javadoc --> |
| <check.file.exists file="${basedir}/target/files/javadoc/release-2.0.7-javadoc.jar"/> |
| <!-- property it.ant-tasks:release:java-source:javadoc should point to an existing file in local repo --> |
| <check.file.exists file="${it.ant-tasks:release:java-source:javadoc}"/> |
| </target> |
| |
| <target name="test-deps-sources-empty" depends="initTaskDefs"> |
| <artifact:dependencies sourcesFilesetId="sources.fileset" javadocFilesetId="javadoc.fileset"> |
| <dependency groupId="it.ant-tasks" artifactId="snapshotUniqueFalse" version="2.0.7-SNAPSHOT"/> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"> |
| <snapshots enabled="true"/> |
| <releases enabled="false"/> |
| </remoteRepository> |
| </artifact:dependencies> |
| |
| <delete dir="${basedir}/target/files/empty"/> |
| <copy todir="${basedir}/target/files/empty"> |
| <fileset refid="sources.fileset"/> |
| <mapper type="merge" to="sources.bin"/> |
| </copy> |
| <copy todir="${basedir}/target/files/empty"> |
| <fileset refid="javadoc.fileset"/> |
| <mapper type="merge" to="javadoc.bin"/> |
| </copy> |
| |
| <!-- no dependencies sources --> |
| <check.file.not.exists file="${basedir}/target/files/empty/sources.bin"/> |
| |
| <!-- no dependencies javadoc --> |
| <check.file.not.exists file="${basedir}/target/files/empty/javadoc.bin"/> |
| </target> |
| |
| <target name="test-deps-profile" depends="initTaskDefs"> |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-profile-default.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="release" version="2.0.7"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| </artifact:dependencies> |
| |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:dependencies settingsFile="${basedir}/src/test/settings-profile-file.xml"> |
| <dependency groupId="it.ant-tasks" artifactId="release" version="2.0.7"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-deploy-spaces" depends="initTaskDefs,installSshProvider"> |
| <delete file="${basedir}/target/local-repo/org/apache/maven/maven-ant-tasks/maven-metadata-remote.*"/> |
| <echo file="target/test file.txt">dummy</echo> |
| <artifact:deploy file="target/test file.txt"> |
| <!-- intentionnally left without id to check default id: see MANTTASKS-103 --> |
| <remoteRepository url="scp://localhost/tmp/deployment-repo"/> |
| <localrepository refid="local.repository"/> |
| <pom refid="maven.project"/> |
| </artifact:deploy> |
| |
| <!-- MANTTASKS-103: maven-metadata-scp: should not exist since scp: is an illegal remoteRepository id |
| replaced instead by "remote" id in DeployTask.java |
| --> |
| <check.file.not.exists file="${basedir}/target/local-repo/org/apache/maven/maven-ant-tasks/maven-metadata-scp://localhost"/> |
| <check.file.exists file="${basedir}/target/local-repo/org/apache/maven/maven-ant-tasks/maven-metadata-remote.xml"/> |
| </target> |
| |
| <target name="test-deploy" depends="initTaskDefs,installSshProvider"> |
| <property name="outJar" value="${basedir}/build-tests.xml"/> |
| <property name="targetDir" value="${deploy.repository.url}/org/apache/maven/test/sample-build-test/2.0-beta-4-SNAPSHOT"/> |
| <delete dir="${deploy.repository.url}"/> |
| |
| <artifact:install file="${outJar}"> |
| <pom file="src/test/simple-pom.xml"/> |
| </artifact:install> |
| |
| <artifact:deploy file="${outJar}"> |
| <remoteSnapshotRepository refid="deploy.repository"/> |
| <pom file="src/test/simple-pom.xml"/> |
| </artifact:deploy> |
| <!-- deployment in ${deploy.repository.url} should have created a directory --> |
| <check.file.exists file="${targetDir}" type="dir"/> |
| <!-- uniqueVersion="true" by default: file -SNAPSHOT.jar should not exist --> |
| <check.file.not.exists file="${targetDir}/sample-build-test-2.0-beta-4-SNAPSHOT.jar"/> |
| |
| <artifact:deploy file="${outJar}" uniqueVersion="false"> |
| <remoteSnapshotRepository refid="deploy.repository"/> |
| <pom file="src/test/simple-pom.xml"/> |
| </artifact:deploy> |
| <!-- when uniqueVersion="false", file -SNAPSHOT.jar should be created --> |
| <check.file.exists file="${targetDir}/sample-build-test-2.0-beta-4-SNAPSHOT.jar"/> |
| |
| <!-- test deploy to scp repository --> |
| <artifact:deploy file="${outJar}"> |
| <remoteRepository url="scp://localhost/tmp/deployment-repo" id="scp.localhost.repo"> |
| <authentication username="${user.name}" privateKey="${user.home}/.ssh/id_dsa"/> |
| </remoteRepository> |
| <pom file="src/test/simple-pom.xml"/> |
| </artifact:deploy> |
| </target> |
| |
| <target name="test-scm" depends="initTaskDefs"> |
| <echo>Testing SCM Wagon</echo> |
| <mkdir dir="target"/> |
| |
| <pathconvert targetos="unix" property="repo.path.unix"> |
| <map from="c:" to=""/> |
| <path> |
| <pathelement location="${basedir}/target/deployment-repo-scm"/> |
| </path> |
| </pathconvert> |
| |
| <property name="scm.url" value="file://${repo.path.unix}"/> |
| |
| <delete dir="${repo.path.unix}"/> |
| |
| <exec executable="svnadmin" failonerror="true"> |
| <arg line="create ${repo.path.unix}"/> |
| </exec> |
| |
| <artifact:localRepository id="local.repository" path="${basedir}/target/local-repo" layout="default"/> |
| |
| <artifact:remoteRepository id="deploy.repository" url="scm:svn:${scm.url}" layout="default"/> |
| |
| <artifact:dependencies pathId="dependency.classpath"> |
| <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test" version="1.0-alpha-4"/> |
| <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT"/> |
| <localRepository refid="local.repository"/> |
| </artifact:dependencies> |
| |
| <exec executable="svn" dir="${basedir}/target/local-repo" failonerror="true"> |
| <arg line="import -m 'import' ${scm.url}"/> |
| </exec> |
| |
| <delete dir="${basedir}/target/local-repo-scm"/> |
| |
| <!-- Could the SCM provider initialise this? --> |
| <exec executable="svn" dir="${basedir}/target" failonerror="true"> |
| <arg line="co ${scm.url} -N local-repo-scm"/> |
| </exec> |
| |
| <artifact:localRepository id="local.repository.scm" path="${basedir}/target/local-repo-scm" layout="default"/> |
| |
| <artifact:dependencies pathId="dependency.classpath.scm"> |
| <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test" version="1.0-alpha-4"/> |
| <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.0-SNAPSHOT"/> |
| <localRepository refid="local.repository.scm"/> |
| <remoteRepository refid="deploy.repository"/> |
| </artifact:dependencies> |
| |
| <property name="outJar" value="${maven.project.build.directory}/${maven.project.build.finalName}.jar"/> |
| <artifact:deploy file="${outJar}"> |
| <localRepository refid="local.repository.scm"/> |
| <remoteRepository refid="deploy.repository"/> |
| <pom refid="maven.project"/> |
| </artifact:deploy> |
| </target> |
| |
| <target name="test-invalid-pom-ref" depends="initTaskDefs"> |
| <artifact:dependencies> |
| <pom refid="invalid-ref" /> |
| </artifact:dependencies> |
| </target> |
| |
| <target name="test-no-dist-mgmt" depends="initTaskDefs"> |
| <artifact:deploy file="src/test/simple-pom.xml"> |
| <pom file="src/test/simple-pom.xml" /> |
| <remoteRepository refid="deploy.repository" /> |
| </artifact:deploy> |
| </target> |
| |
| <target name="test-deploy-attached" depends="initTaskDefs"> |
| <echo message="test" file="${basedir}/target/sample-build-test.pom.asc"/> |
| |
| <artifact:deploy file="src/test/simple-pom.xml"> |
| <pom file="src/test/simple-pom.xml" /> |
| <remoteRepository refid="deploy.repository" /> |
| <attach file="${basedir}/target/sample-build-test.pom.asc" type="pom.asc"/> |
| </artifact:deploy> |
| </target> |
| |
| <target name="test-install-attached" depends="initTaskDefs"> |
| <echo message="test" file="${basedir}/target/sample-build-test.pom.asc"/> |
| |
| <artifact:install file="src/test/simple-pom.xml"> |
| <pom file="src/test/simple-pom.xml" /> |
| <localRepository refid="local.repository"/> |
| <attach file="${basedir}/target/sample-build-test.pom.asc" type="pom.asc"/> |
| </artifact:install> |
| </target> |
| |
| <target name="test-install-provider" depends="initTaskDefs"> |
| <artifact:install-provider groupId="it.ant-tasks" artifactId="wagon-foo" version="1.0-beta-2"> |
| <localRepository refid="local.repository"/> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"/> |
| </artifact:install-provider> |
| </target> |
| |
| <target name="test-pom-with-parent" depends="initTaskDefs"> |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:pom file="${user.dir}/src/test/pom-with-parent.xml" id="my.maven.project"> |
| <localRepository path="${basedir}/target/tmp"/> |
| <remoteRepository url="file://${user.dir}/src/test/repo" id="test.repo"/> |
| </artifact:pom> |
| <check.file.exists file="${basedir}/target/tmp/it/ant-tasks/pom/1.0/pom-1.0.pom" type="file"/> |
| |
| <echo>Artifact ID = ${my.maven.project.artifactId}</echo> |
| |
| <echo>Parent Artifact ID = ${my.maven.project.parent.artifactId}</echo> |
| |
| <!-- MANTTASKS-107 repository defined in pom must be used to download parent pom --> |
| <delete dir="${basedir}/target/tmp"/> |
| <artifact:pom file="${user.dir}/src/test/pom-with-parent2.xml" id="my.maven.project2"> |
| <localRepository path="${basedir}/target/tmp"/> |
| </artifact:pom> |
| <check.file.exists file="${basedir}/target/tmp/it/ant-tasks/pom/1.1/pom-1.1.pom" type="file"/> |
| </target> |
| |
| <target name="test-mvn" depends="initTaskDefs"> |
| <artifact:mvn pom="src/test/pom.xml" mavenVersion="2.1.0" fork="true"> |
| <arg value="test"/> |
| <localRepository path="${basedir}/target/tmp"/> |
| </artifact:mvn> |
| </target> |
| |
| <target name="test-deps-scopes" depends="initTaskDefs"> |
| <artifact:dependencies filesetId="dependency.scopes.fileset" scopes=" provided , test "> |
| <pom file="src/test/pom-with-scopes.xml"/> |
| </artifact:dependencies> |
| |
| <delete dir="target/files/scopes-test"/> |
| <mkdir dir="target/files/scopes-test"/> |
| <copy todir="target/files/scopes-test"> |
| <fileset refid="dependency.scopes.fileset"/> |
| </copy> |
| |
| <!-- excluded dependency junit:junit --> |
| <check.file.exists file="target/files/scopes-test/commons-lang/commons-lang" type="dir"/> |
| <check.file.exists file="target/files/scopes-test/commons-collections/commons-collections" type="dir"/> |
| <check.file.not.exists file="target/files/scopes-test/org/apache/commons/commons-io" type="dir"/> |
| <check.file.not.exists file="target/files/scopes-test/commons-logging/commons-logging" type="dir"/> |
| </target> |
| |
| <target name="test-system-scope" depends="initTaskDefs"> |
| <artifact:dependencies pathId="system.scope.classpath" filesetId="system.scope.fileset" useScope="compile"> |
| <pom file="src/test/pom-with-system-scope.xml" /> |
| <localRepository refid="local.repository"/> |
| </artifact:dependencies> |
| |
| <pathconvert property="system.scope.classpath.property" targetos="unix" refid="system.scope.classpath"/> |
| <path id="local.repository.path" path="${basedir}/target/local-repo" /> |
| <pathconvert property="local.repository.property" targetos="unix" refid="local.repository.path"/> |
| |
| <echo message="${sun.jdk:tools:jar}"/> |
| <echo> |
| classpath: ${system.scope.classpath.property} |
| </echo> |
| |
| <condition property="test.fail"> |
| <length string="${system.scope.classpath.property}" trim="true" length="0" /> |
| </condition> |
| <fail if="test.fail">Artifact with system scope should be added to classpath.</fail> |
| |
| <condition property="test.fail"> |
| <contains string="${system.scope.classpath.property}" substring="${local.repository.property}"/> |
| </condition> |
| <fail if="test.fail">For system scope path should not come from local repository.</fail> |
| </target> |
| |
| <macrodef name="check.file.exists"> |
| <attribute name="file"/> |
| <attribute name="type" default="file"/> |
| <sequential> |
| <echo>Checking for existence of @{type}: @{file}</echo> |
| <fail message="Unable to find a required @{type}: @{file}"> |
| <condition> |
| <not> |
| <available file="@{file}" type="@{type}"/> |
| </not> |
| </condition> |
| </fail> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="check.file.not.exists"> |
| <attribute name="file"/> |
| <attribute name="type" default="file"/> |
| <sequential> |
| <echo>Checking for non-existence of @{type}: @{file}</echo> |
| <fail message="Found a @{type} that was not supposed to exist: @{file}"> |
| <condition> |
| <available file="@{file}" type="@{type}"/> |
| </condition> |
| </fail> |
| </sequential> |
| </macrodef> |
| </project> |