| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <project name="snappy-java-from-maven" default="package" basedir="."> |
| |
| <property file="${user.home}/.m2/maven.properties" /> |
| <property file="maven-build.properties" /> |
| |
| <property name="maven.build.finalName" value="snappy" /> |
| <property name="maven.build.dir" value="target" /> |
| <property name="maven.build.outputDir" value="${maven.build.dir}/classes" /> |
| <property name="maven.build.srcDir.0" value="src/main/java" /> |
| <property name="maven.build.resourceDir.0" value="src/main/java" /> |
| <property name="maven.build.resourceDir.1" value="src/main/resources" /> |
| <property name="maven.build.resourceDir.2" value="." /> |
| <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes" /> |
| <property name="maven.build.testDir.0" value="src/test/java" /> |
| <property name="maven.build.testResourceDir.0" value="src/test/java" /> |
| <property name="maven.build.testResourceDir.1" value="src/test/resources" /> |
| <property name="maven.test.reports" value="${maven.build.dir}/test-reports" /> |
| <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site" /> |
| |
| <property name="maven.repo.local" value="${user.home}/.m2/repository" /> |
| <property name="maven.settings.offline" value="false" /> |
| <property name="maven.settings.interactiveMode" value="true" /> |
| |
| <!-- ====================================================================== --> |
| <!-- Defining classpaths --> |
| <!-- ====================================================================== --> |
| |
| <path id="build.classpath"> |
| </path> |
| <path id="build.test.classpath"> |
| </path> |
| |
| <!-- ====================================================================== --> |
| <!-- Cleaning up target --> |
| <!-- ====================================================================== --> |
| |
| <target name="clean" description="Clean the output directory"> |
| <delete dir="${maven.build.dir}" /> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- Compilation target --> |
| <!-- ====================================================================== --> |
| |
| <target name="compile" description="Compile the code"> |
| <mkdir dir="${maven.build.outputDir}" /> |
| <javac destdir="${maven.build.outputDir}" nowarn="false" debug="true" optimize="false" deprecation="true" target="1.6" verbose="false" fork="false" source="1.6"> |
| <src> |
| <pathelement location="${maven.build.srcDir.0}" /> |
| </src> |
| <classpath refid="build.classpath" /> |
| </javac> |
| <copy todir="${maven.build.outputDir}"> |
| <fileset dir="${maven.build.resourceDir.0}"> |
| <include name="org/xerial/snappy/VERSION" /> |
| </fileset> |
| </copy> |
| <copy todir="${maven.build.outputDir}"> |
| <fileset dir="${maven.build.resourceDir.1}"> |
| <include name="org/xerial/snappy/*.bytecode" /> |
| <include name="org/xerial/snappy/native/**" /> |
| </fileset> |
| </copy> |
| <mkdir dir="${maven.build.outputDir}/META-INF/maven/org.xerial.snappy/snappy-java" /> |
| <copy todir="${maven.build.outputDir}/META-INF/maven/org.xerial.snappy/snappy-java"> |
| <fileset dir="${maven.build.resourceDir.2}"> |
| <include name="LICENSE*" /> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- Test-compilation target --> |
| <!-- ====================================================================== --> |
| |
| <target name="compile-tests" depends="compile" description="Compile the test code" unless="maven.test.skip"> |
| <mkdir dir="${maven.build.testOutputDir}" /> |
| <javac destdir="${maven.build.testOutputDir}" nowarn="false" debug="true" optimize="false" deprecation="true" target="1.6" verbose="false" fork="false" source="1.6"> |
| <src> |
| <pathelement location="${maven.build.testDir.0}" /> |
| </src> |
| <classpath> |
| <path refid="build.test.classpath" /> |
| <pathelement location="${maven.build.outputDir}" /> |
| </classpath> |
| </javac> |
| <copy todir="${maven.build.testOutputDir}"> |
| <fileset dir="${maven.build.testResourceDir.0}"> |
| <exclude name="**/*.java" /> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- Run all tests --> |
| <!-- ====================================================================== --> |
| |
| <target name="test" depends="compile-tests, junit-missing" unless="junit.skipped" 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.test.classpath" /> |
| <pathelement location="${maven.build.outputDir}" /> |
| <pathelement location="${maven.build.testOutputDir}" /> |
| </classpath> |
| <batchtest todir="${maven.test.reports}" unless="test"> |
| <fileset dir="${maven.build.testDir.0}"> |
| <include name="**/Test*.java" /> |
| <include name="**/*Test.java" /> |
| <include name="**/*TestCase.java" /> |
| <exclude name="**/*Abstract*Test.java" /> |
| </fileset> |
| </batchtest> |
| <batchtest todir="${maven.test.reports}" if="test"> |
| <fileset dir="${maven.build.testDir.0}"> |
| <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="test-junit-status" depends="test-junit-present"> |
| <condition property="junit.missing"> |
| <and> |
| <isfalse value="${junit.present}" /> |
| <isfalse value="${maven.test.skip}" /> |
| </and> |
| </condition> |
| <condition property="junit.skipped"> |
| <or> |
| <isfalse value="${junit.present}" /> |
| <istrue value="${maven.test.skip}" /> |
| </or> |
| </condition> |
| </target> |
| |
| <target name="junit-missing" depends="test-junit-status" if="junit.missing"> |
| <echo>=================================== WARNING ===================================</echo> |
| <echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo> |
| <echo>===============================================================================</echo> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- Javadoc target --> |
| <!-- ====================================================================== --> |
| |
| <target name="javadoc" description="Generates the Javadoc of the application"> |
| <javadoc sourcepath="${maven.build.srcDir.0}" packagenames="*" destdir="${maven.reporting.outputDirectory}/apidocs" access="public" old="false" verbose="false" locale="en_US" version="true" use="true" author="true" splitindex="false" nodeprecated="false" nodeprecatedlist="false" notree="false" noindex="false" nohelp="false" nonavbar="false" serialwarn="false" charset="UTF-8" linksource="false" breakiterator="false" /> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- Package target --> |
| <!-- ====================================================================== --> |
| |
| <target name="package" depends="compile,test" description="Package the application"> |
| <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar" compress="true" index="true" basedir="${maven.build.outputDir}" excludes="**/package.html" /> |
| </target> |
| |
| <!-- ====================================================================== --> |
| <!-- A dummy target for the package named after the type it creates --> |
| <!-- ====================================================================== --> |
| |
| <target name="jar" depends="package" description="Builds the jar for the application" /> |
| |
| <!-- ====================================================================== --> |
| <!-- Download dependencies target --> |
| <!-- ====================================================================== --> |
| |
| <target name="test-offline"> |
| <condition property="maven.mode.offline"> |
| <equals arg1="${maven.settings.offline}" arg2="true" /> |
| </condition> |
| </target> |
| |
| </project> |