| <project name="jspf" 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="jspf-0.9-SNAPSHOT"/> |
| <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="commons-lang/commons-lang/1.0/commons-lang-1.0.jar"/> |
| <include name="commons-logging/commons-logging/1.0/commons-logging-1.0.jar"/> |
| <include name="dnsjava/dnsjava/2.0.3/dnsjava-2.0.3.jar"/> |
| <include name="commons-cli/commons-cli/1.0/commons-cli-1.0.jar"/> |
| <include name="log4j/log4j/1.2.13/log4j-1.2.13.jar"/> |
| </fileset> |
| </path> |
| <target name="clean" description="Clean the output directory"> |
| <delete dir="${maven.build.directory}"/> |
| </target> |
| <target name="compile" depends="check-commons-lang, check-commons-cli, check-commons-logging, check-dnsjava, check-log4j" 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"> |
| <manifest> |
| <attribute name="Main-class" value="org.apache.james.jspf.impl.SPFQuery"/> |
| </manifest> |
| </jar> |
| </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="check-commons-lang" depends="test-commons-lang-present" unless="commons.lang.present"> |
| <echo>================================ ERROR =====================================</echo> |
| <echo> You missing some dependencies to build jSPF. Please download and add them to </echo> |
| <echo> the buildpath of this project. After that try to build again. </echo> |
| <echo> The dependency that is missing is: </echo> |
| <echo> - commons-lang </echo> |
| <echo> </echo> |
| <echo> Get it from: http://jakarta.apache.org/commons/lang/</echo> |
| <echo>============================================================================</echo> |
| </target> |
| |
| <target name="check-commons-logging" depends="test-commons-logging-present" unless="commons.logging.present"> |
| <echo>================================ ERROR =====================================</echo> |
| <echo> You missing some dependencies to build jSPF. Please download and add them to </echo> |
| <echo> the buildpath of this project. After that try to build again. </echo> |
| <echo> The dependency that is missing is: </echo> |
| <echo> - commons-logging </echo> |
| <echo> </echo> |
| <echo> Get it from: http://jakarta.apache.org/commons/logging/</echo> |
| <echo>============================================================================</echo> |
| </target> |
| |
| <target name="check-commons-cli" depends="test-commons-cli-present" unless="commons.cli.present"> |
| <echo>================================ ERROR =====================================</echo> |
| <echo> You missing some dependencies to build jSPF. Please download and add them to </echo> |
| <echo> the buildpath of this project. After that try to build again. </echo> |
| <echo> The dependency that is missing is: </echo> |
| <echo> - commons-cli </echo> |
| <echo> </echo> |
| <echo> Get it from: http://jakarta.apache.org/commons/cli/</echo> |
| <echo>============================================================================</echo> |
| </target> |
| |
| <target name="check-dnsjava" depends="test-dnsjava-present" unless="dnsjava.present"> |
| <echo>================================ ERROR =====================================</echo> |
| <echo> You missing some dependencies to build jSPF. Please download and add them to </echo> |
| <echo> the buildpath of this project. After that try to build again. </echo> |
| <echo> The dependency that is missing is: </echo> |
| <echo> - dnsjava </echo> |
| <echo> </echo> |
| <echo> Get it from: http://www.dnsjava.org</echo> |
| <echo>============================================================================</echo> |
| </target> |
| |
| <target name="check-log4j" depends="test-log4j-present" unless="log4j.present"> |
| <echo>================================ ERROR =====================================</echo> |
| <echo> You missing some dependencies to build jSPF. Please download and add them to </echo> |
| <echo> the buildpath of this project. After that try to build again. </echo> |
| <echo> The dependency that is missing is: </echo> |
| <echo> - log4j </echo> |
| <echo> </echo> |
| <echo> Get it from: http://logging.apache.org/log4j/</echo> |
| <echo>============================================================================</echo> |
| </target> |
| |
| <target name="test-commons-lang-present"> |
| <available classname="org.apache.commons.lang.CharSet" property="commons.lang.present" classpathref="build.classpath"></available> |
| </target> |
| <target name="test-commons-logging-present"> |
| <available classname="org.apache.commons.logging.Log" property="commons.logging.present" classpathref="build.classpath"></available> |
| </target> |
| <target name="test-commons-cli-present"> |
| <available classname="org.apache.commons.cli.CommandLineParser" property="commons.cli.present" classpathref="build.classpath"></available> |
| </target> |
| <target name="test-dnsjava-present"> |
| <available classname="org.xbill.DNS.Address" property="dnsjava.present" classpathref="build.classpath"></available> |
| </target> |
| <target name="test-log4j-present"> |
| <available classname="org.apache.log4j.Logger" property="log4j.present" classpathref="build.classpath"></available> |
| </target> |
| </project> |