| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright (C) 2014 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <project name="jill" default="all"> |
| |
| <import file="../jack/build.xml"/> |
| |
| <target name="all" depends="jill, |
| jill-api, |
| jill-api-src, |
| jillunittests"/> |
| |
| <target name="clean" depends="jill-clean, |
| jill-api-lib-clean, |
| jill-api-src-clean, |
| jillunittests-clean, |
| asm4-clean, |
| dist-clean"/> |
| |
| <dirname property="jill-project.dir" file="${ant.file.jill}"/> |
| |
| <property name="jill.dir" value="${jill-project.dir}/jill" /> |
| <property name="jill-api.dir" value="${jill-project.dir}/jill-api" /> |
| <property name="asm4.dir" value="${jill-project.dir}/asm4" /> |
| |
| <!-- ******************* --> |
| <!-- Distributed files --> |
| <!-- ******************* --> |
| |
| <property name="jill-top-dist.dir" value="${jill-project.dir}/dist" /> |
| |
| <target name="dist-clean"> |
| <delete dir="${jill-top-dist.dir}"/> |
| </target> |
| |
| <target name="dist" depends="jill, |
| jill-api, |
| jill-api-src"> |
| <mkdir dir="${jill-top-dist.dir}"/> |
| <copy todir="${jill-top-dist.dir}" flatten="true"> |
| <filelist dir="/" > |
| <file name="${jill.dist.dir}/${jill.execname}" /> |
| <file name="${jill-api.dist.dir}/${jill-api.name}" /> |
| <file name="${jill-api.dist.dir}/${jill-api-src.name}" /> |
| </filelist> |
| </copy> |
| </target> |
| |
| <!-- ******************* --> |
| <!-- jill --> |
| <!-- ******************* --> |
| <property name="jill.build.dir" value="${jill.dir}/build/jill" /> |
| <property name="jill.libs.dir" value="${jill.dir}/libs" /> |
| <property name="jill.build.outdir" value="${jill.build.dir}/classes" /> |
| <property name="jill.dist.dir" value="${jill.dir}/dist" /> |
| <property name="jill.execname" value="jill.jar" /> |
| |
| <target name="jill-clean"> |
| <delete dir="${jill.build.dir}" /> |
| <delete dir="${jill.dist.dir}" /> |
| <delete dir="${jill.libs.dir}" /> |
| </target> |
| |
| <target name="jill-copy-libs" depends="jill-api-lib,sched-lib,guava-lib,asm4-lib,args4j-lib,jsr305-lib, |
| dexcomparator-lib"> |
| <copy todir="${jill.libs.dir}" flatten="true"> |
| <filelist id="jill.libs.filelist" dir="/" > |
| <file name="${jill-api.dist.dir}/${jill-api.lib.name}"/> |
| <file name="${schedlib.dist.dir}/${schedlib.libname}"/> |
| <file name="${guava.dist.dir}/${guava.libname}"/> |
| <file name="${args4j.dist.dir}/${args4j.libname}"/> |
| <file name="${jsr305.dist.dir}/${jsr305.libname}"/> |
| <file name="${asm4.dist.dir}/${asm4.libname}"/> |
| <file name="${dexcomparator.dist.dir}/${dexcomparator.libname}"/> |
| </filelist> |
| </copy> |
| </target> |
| |
| <target name="jill-check"> |
| <union id ="jill.uptodate.files"> |
| <filelist refid="jill.libs.filelist" /> |
| </union> |
| <uptodate property="jill.uptodate" targetfile="${jill.dist.dir}/${jill.execname}"> |
| <srcfiles dir="${jill.dir}/src" /> |
| <srcresources refid="jill.uptodate.files" /> |
| <srcfiles dir="${jill.dir}/rsc"/> |
| </uptodate> |
| </target> |
| |
| <target name="jill" depends="jill-copy-libs, jill-check" unless="jill.uptodate"> |
| <!-- project layout --> |
| <delete dir="${jill.build.outdir}"/> |
| <mkdir dir="${jill.build.outdir}"/> |
| <mkdir dir="${jill.dist.dir}"/> |
| <!-- compile --> |
| <javac encoding="UTF-8" srcdir="${jill.dir}/src" |
| destdir="${jill.build.outdir}" |
| source="1.5" target="1.5" |
| debug="true" includeantruntime="false"> |
| <classpath> |
| <filelist refid="jill.libs.filelist" /> |
| </classpath> |
| </javac> |
| <!-- package --> |
| <copy todir="${jill.build.outdir}"> |
| <fileset dir="${jill.dir}/rsc"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${jill-api.lib.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${guava.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${schedlib.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${args4j.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${jsr305.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${asm4.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| </copy> |
| <jar destfile="${jill.dist.dir}/${jill.execname}" |
| manifest="${jill.dir}/etc/manifest.txt" |
| basedir="${jill.build.outdir}" |
| includes="**"/> |
| </target> |
| |
| |
| <!-- ******************* --> |
| <!-- jill-api-lib --> |
| <!-- ******************* --> |
| <property name="jill-api.lib.build.dir" value="${jill-api.dir}/build/lib" /> |
| <property name="jill-api.lib.build.outdir" value="${jill-api.lib.build.dir}/classes" /> |
| <property name="jill-api.libs.dir" value="${jill-api.dir}/libs" /> |
| <property name="jill-api.dist.dir" value="${jill-api.dir}/dist" /> |
| <property name="jill-api.lib.name" value="jill-api-lib.jar" /> |
| |
| <target name="jill-api-lib-clean"> |
| <delete dir="${jill-api.lib.build.dir}"/> |
| <delete dir="${jill-api.dist.dir}"/> |
| <delete dir="${jill-api.libs.dir}"/> |
| </target> |
| |
| <target name="jill-api-lib-copy-libs" depends="jsr305-lib"> |
| <copy todir="${jill-api.libs.dir}" flatten="true"> |
| <filelist dir="/" > |
| <file name="${jsr305.dist.dir}/${jsr305.libname}"/> |
| </filelist> |
| </copy> |
| </target> |
| |
| <target name="jill-api-check"> |
| <uptodate property="jill-api.uptodate" targetfile="${jill-api.dist.dir}/${jill-api.lib.name}"> |
| <srcfiles dir="${jill-api.dir}/src" /> |
| <srcfiles file="${jsr305.dist.dir}/${jsr305.libname}" /> |
| </uptodate> |
| </target> |
| |
| <target name="jill-api-lib" depends="jill-api-lib-copy-libs, jill-api-check" unless="jill-api.uptodate"> |
| <delete dir="${jill-api.lib.build.outdir}"/> |
| <mkdir dir="${jill-api.lib.build.outdir}"/> |
| <javac encoding="UTF-8" srcdir="${jill-api.dir}/src" destdir="${jill-api.lib.build.outdir}" |
| source="1.6" target="1.6" debug="true" |
| includeantruntime="false" includeDestClasses="false" nowarn="true"> |
| <classpath> |
| <filelist dir="/" files="${jsr305.dist.dir}/${jsr305.libname}" /> |
| </classpath> |
| <exclude name="com/android/jack/api/example/**"/> |
| </javac> |
| <jar destfile="${jill-api.dist.dir}/${jill-api.lib.name}"> |
| <fileset dir="${jill-api.lib.build.outdir}"/> |
| </jar> |
| </target> |
| |
| |
| <!-- ******************* --> |
| <!-- jill-api --> |
| <!-- ******************* --> |
| <property name="jill-api.build.dir" value="${jill-api.dir}/build/exec" /> |
| <property name="jill-api.build.outdir" value="${jill-api.build.dir}/classes" /> |
| <property name="jill-api.name" value="jill-api.jar" /> |
| |
| <target name="jill-api" depends="jill-api-lib"> |
| <jar destfile="${jill-api.dist.dir}/${jill-api.name}"> |
| <fileset dir="${jsr305.build.outdir}"/> |
| <fileset dir="${jill-api.lib.build.outdir}"/> |
| </jar> |
| </target> |
| |
| |
| <!-- ******************* --> |
| <!-- jill-api-src --> |
| <!-- ******************* --> |
| <property name="jill-api-src.name" value="jill-api-src.zip" /> |
| |
| <target name="jill-api-src-clean"> |
| <delete dir="${jill-api.dist.dir}/${jill-api-src.name}"/> |
| </target> |
| |
| <target name="jill-api-src"> |
| <zip destfile="${jill-api.dist.dir}/${jill-api-src.name}" |
| basedir="${jill-api.dir}/src" /> |
| </target> |
| |
| |
| <!-- ******************* --> |
| <!-- jillunittests --> |
| <!-- ******************* --> |
| <property name="jillunittests.build.dir" value="${jill.dir}/build/jillunittests" /> |
| <property name="jillunittests.build.outdir" value="${jillunittests.build.dir}/classes" /> |
| <property name="jillunittests.execname" value="jillunittests.jar" /> |
| |
| <target name="jillunittests-clean"> |
| <delete dir="${jillunittests.build.dir}" /> |
| <delete dir="${jill.dist.dir}/${jillunittests.execname}" /> |
| </target> |
| |
| <target name="jillunittests-check"> |
| <uptodate property="jillunittests.uptodate" targetfile="${jill.dist.dir}/${jillunittests.execname}"> |
| <srcfiles dir="${jill.dir}/tests" /> |
| <srcfiles file="${jill.dist.dir}/${jill.execname}" /> |
| <srcfiles file="${jill-api.dist.dir}/${jill-api.name}" /> |
| <srcfiles file="${jackunittests.dist.dir}/${jackunittests.execname}" /> |
| <srcfiles file="${jack-tests.dist.dir}/${jack-tests.execname}" /> |
| </uptodate> |
| </target> |
| |
| <target name="jillunittests" depends="jill, jill-api, jackunittests, jillunittests-check" unless="jillunittests.uptodate"> |
| <!-- project layout --> |
| <delete dir="${jillunittests.build.outdir}"/> |
| <mkdir dir="${jillunittests.build.outdir}"/> |
| <!-- compile --> |
| <javac encoding="UTF-8" srcdir="${jill.dir}/tests" |
| destdir="${jillunittests.build.outdir}" |
| source="1.5" target="1.5" |
| debug="true" includeantruntime="false"> |
| <classpath> |
| <filelist dir="/"> |
| <file name="${jill.dist.dir}/${jill.execname}" /> |
| <file name="${jill-api.dist.dir}/${jill-api.name}" /> |
| <file name="${jackunittests.dist.dir}/${jackunittests.execname}" /> |
| <file name="${jack-tests.dist.dir}/${jack-tests.execname}" /> |
| </filelist> |
| </classpath> |
| </javac> |
| <!-- package --> |
| <copy todir="${jillunittests.build.outdir}"> |
| <fileset dir="${jill.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| <fileset dir="${jackunittests.build.outdir}"> |
| <include name="**/*" /> |
| </fileset> |
| </copy> |
| <jar destfile="${jill.dist.dir}/${jillunittests.execname}" |
| basedir="${jillunittests.build.outdir}" |
| includes="**"/> |
| </target> |
| |
| |
| <!-- ******************* --> |
| <!-- asm4 --> |
| <!-- ******************* --> |
| <property name="asm4.build.dir" value="${asm4.dir}/build" /> |
| <property name="asm4.build.outdir" value="${asm4.build.dir}/classes" /> |
| <property name="asm4.dist.dir" value="${asm4.dir}/dist" /> |
| <property name="asm4.libname" value="asm4-lib.jar" /> |
| |
| <target name="asm4-clean"> |
| <delete dir="${asm4.build.dir}" /> |
| <delete dir="${asm4.dist.dir}" /> |
| </target> |
| |
| <target name="asm4-lib"> |
| <!-- project layout --> |
| <mkdir dir="${asm4.build.outdir}"/> |
| <mkdir dir="${asm4.dist.dir}"/> |
| <!-- compile --> |
| <dependset> |
| <sources> |
| <fileset dir="${asm4.dir}/src" /> |
| </sources> |
| <targets> |
| <fileset file="${asm4.dist.dir}/${asm4.libname}"/> |
| </targets> |
| </dependset> |
| <javac encoding="UTF-8" srcdir="${asm4.dir}/src" |
| destdir="${asm4.build.outdir}" |
| source="1.5" target="1.5" |
| debug="true" includeantruntime="false"/> |
| <!-- package --> |
| <jar destfile="${asm4.dist.dir}/${asm4.libname}" |
| basedir="${asm4.build.outdir}" |
| includes="**"/> |
| </target> |
| |
| <!-- ******************* --> |
| <!-- tests --> |
| <!-- ******************* --> |
| <property name="jill.tests.output" value="${jill-project.dir}/tests-results"/> |
| |
| <filelist id="jill.junit.tests.classpath" dir="/"> |
| <file name="${jack-tests.dist.dir}/${jack-tests.execname}" /> |
| <file name="${jill.dist.dir}/${jillunittests.execname}" /> |
| <file name="${jill-api.dist.dir}/${jill-api.lib.name}" /> |
| </filelist> |
| |
| <target name="test-jill-clean" > |
| <delete dir="${jill.tests.output}"/> |
| </target> |
| |
| <target name="test-jill" depends="tests-check-config, jillunittests"> |
| <mkdir dir="${jill.tests.output}/test-jill/html"/> |
| <junit fork="yes" failureproperty="test-jill.failure"> |
| <formatter type="xml"/> |
| <jvmarg value="-Dtests.config=${tests.config}"/> |
| <jvmarg value="-ea"/> |
| <classpath> |
| <filelist refid="jill.junit.tests.classpath" /> |
| </classpath> |
| <test name="com.android.jill.PreSubmitTests" |
| todir="${jill.tests.output}/test-jill/" |
| outfile="test-jill" /> |
| </junit> |
| <junitreport todir="${jill.tests.output}/test-jill"> |
| <fileset dir="${jill.tests.output}/test-jill"> |
| <include name="test-jill.xml"/> |
| </fileset> |
| <report format="frames" todir="${jill.tests.output}/test-jill/html"/> |
| </junitreport> |
| <fail message="TESTS FAILED" if="test-jill.failure" /> |
| </target> |
| |
| <target name="test-jill-long" depends="tests-check-config, jillunittests"> |
| <mkdir dir="${jill.tests.output}/test-jill-long/html"/> |
| <junit fork="yes" failureproperty="test-jill.failure"> |
| <formatter type="xml"/> |
| <jvmarg value="-Dtests.config=${tests.config}"/> |
| <jvmarg value="-ea"/> |
| <classpath> |
| <filelist refid="jill.junit.tests.classpath" /> |
| </classpath> |
| <test name="com.android.jill.LongLastingTests" |
| todir="${jill.tests.output}/test-jill-long/" |
| outfile="test-jill-long" /> |
| </junit> |
| <junitreport todir="${jill.tests.output}/test-jill-long"> |
| <fileset dir="${jill.tests.output}/test-jill-long"> |
| <include name="test-jill-long.xml"/> |
| </fileset> |
| <report format="frames" todir="${jill.tests.output}/test-jill-long/html"/> |
| </junitreport> |
| <fail message="TESTS FAILED" if="test-jill.failure" /> |
| </target> |
| |
| <target name="test-jill-all" depends="tests-check-config, jillunittests"> |
| <mkdir dir="${jill.tests.output}/test-jill-all/html"/> |
| <junit fork="yes" failureproperty="test-jill.failure"> |
| <formatter type="xml"/> |
| <jvmarg value="-Dtests.config=${tests.config}"/> |
| <jvmarg value="-ea"/> |
| <classpath> |
| <filelist refid="jill.junit.tests.classpath" /> |
| </classpath> |
| <test name="com.android.jill.AllTests" |
| todir="${jill.tests.output}/test-jill-all/" |
| outfile="test-jill-all" /> |
| </junit> |
| <junitreport todir="${jill.tests.output}/test-jill-all"> |
| <fileset dir="${jill.tests.output}/test-jill-all"> |
| <include name="test-jill-all.xml"/> |
| </fileset> |
| <report format="frames" todir="${jill.tests.output}/test-jill-all/html"/> |
| </junitreport> |
| <fail message="TESTS FAILED" if="test-jill.failure" /> |
| </target> |
| |
| </project> |
| |
| |