<project name="wagon-ftp" default="jar" basedir=".">
<property file="${user.home}/.m2/maven.properties"/>
<property name="maven.build.output" value="target/classes"/>
<property name="maven.build.directory" value="target"/>
<property name="maven.build.final.name" value="wagon-ftp-1.0-alpha-5"/>
<property name="maven.test.reports" value="${maven.build.directory}/test-reports"/>
<property name="maven.test.output" value="target/test-classes"/>
<property name="maven.repo.local" value="${user.home}/.m2/repository"/>
<path id="build.classpath">
<fileset dir="${maven.repo.local}">
<include name="org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar"/>
<include name="commons-net/commons-net/1.1.0/commons-net-1.1.0.jar"/>
<include name="oro/oro/2.0.7/oro-2.0.7.jar"/>
<include name="org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar"/>
</fileset>
</path>
<target name="clean" description="Clean the output directory">
<delete dir="${maven.build.directory}"/>
</target>
<target name="compile" depends="get-deps" description="Compile the code">
<mkdir dir="${maven.build.output}"/>
<javac destdir="${maven.build.output}" excludes="**/package.html" debug="true" deprecation="true" optimize="false">
<src>
<pathelement location="src/main/java"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<copy todir="${maven.build.output}">
<fileset dir="src/main/resources"/>
</copy>
</target>
<target name="jar" depends="compile,test" description="Clean the JAR">
<jar jarfile="${maven.build.directory}/${maven.build.final.name}.jar" basedir="${maven.build.output}" excludes="**/package.html"/>
</target>
<target name="compile-tests" depends="junit-present, compile" description="Compile the test code" if="junit.present">
<mkdir dir="${maven.test.output}"/>
<javac destdir="${maven.test.output}" excludes="**/package.html" debug="true" deprecation="true" optimize="false">
<src>
<pathelement location="src/test/java"/>
</src>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${maven.build.output}"/>
</classpath>
</javac>
<copy todir="${maven.test.output}">
<fileset dir="src/test/resources"/>
</copy>
</target>
<target name="test" depends="junit-present, compile-tests" if="junit.present" description="Run the test cases">
<mkdir dir="${maven.test.reports}"/>
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
<sysproperty key="basedir" value="."/>
<formatter type="xml"/>
<formatter type="plain" usefile="false"/>
<classpath>
<path refid="build.classpath"/>
<pathelement location="${maven.build.output}"/>
<pathelement location="${maven.test.output}"/>
</classpath>
<batchtest todir="${maven.test.reports}">
<fileset dir="src/test/java">
<include name="**/*Test.java"/>
<exclude name="**/*Abstract*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="test-junit-present">
<available classname="junit.framework.Test" property="junit.present"/>
</target>
<target name="junit-present" depends="test-junit-present" unless="junit.present">
<echo>================================= WARNING ================================</echo>
<echo> Junit isn't present in your $ANT_HOME/lib directory. Tests not executed. </echo>
<echo>==========================================================================</echo>
</target>
<target name="test-offline">
<condition property="maven.mode.offline">
<equals arg1="${build.sysclasspath}" arg2="only"/>
</condition>
</target>
<target name="get-deps" depends="test-offline" description="Download all dependencies" unless="maven.mode.offline">
<mkdir dir="${maven.repo.local}"/>
<get src="http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" dest="${maven.repo.local}/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" usetimestamp="true" ignoreerrors="true"/>
<get src="http://repo1.maven.org/maven2/commons-net/commons-net/1.1.0/commons-net-1.1.0.jar" dest="${maven.repo.local}/commons-net/commons-net/1.1.0/commons-net-1.1.0.jar" usetimestamp="true" ignoreerrors="true"/>
<get src="http://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.jar" dest="${maven.repo.local}/oro/oro/2.0.7/oro-2.0.7.jar" usetimestamp="true" ignoreerrors="true"/>
<get src="http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" dest="${maven.repo.local}/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" usetimestamp="true" ignoreerrors="true"/>
</target>
</project>