You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
4.7 KiB
93 lines
4.7 KiB
12 years ago
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<project name="custom_rules">
|
||
|
|
||
|
<!-- Enable AndroidAnnotations, see https://github.com/excilys/androidannotations/wiki/Building-Project-Ant -->
|
||
|
<property name="generated.dir" value=".apt_generated" />
|
||
|
<property name="generated.absolute.dir" location="${generated.dir}" />
|
||
|
<property name="java.compilerargs" value="-s '${generated.absolute.dir}'" />
|
||
|
|
||
|
<target name="-pre-compile">
|
||
|
<mkdir dir="${generated.absolute.dir}" />
|
||
|
</target>
|
||
|
|
||
|
<!-- copied (and modified) from $ANDROID_SDK_ROOT$/tools/ant/build.xml -->
|
||
|
<target name="-compile" depends="-build-setup, -pre-build, -code-gen, -pre-compile">
|
||
|
<do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
|
||
|
<!-- merge the project's own classpath and the tested project's classpath -->
|
||
|
<path id="project.javac.classpath">
|
||
|
<fileset dir="compile-libs" includes="*.jar"/>
|
||
|
<path refid="project.all.jars.path" />
|
||
|
<path refid="tested.project.classpath" />
|
||
|
</path>
|
||
|
<javac encoding="${java.encoding}"
|
||
|
source="${java.source}" target="${java.target}"
|
||
|
debug="true" extdirs="" includeantruntime="false"
|
||
|
destdir="${out.classes.absolute.dir}"
|
||
|
bootclasspathref="project.target.class.path"
|
||
|
verbose="${verbose}"
|
||
|
classpathref="project.javac.classpath"
|
||
|
fork="${need.javac.fork}">
|
||
|
<src path="${source.absolute.dir}" />
|
||
|
<src path="${gen.absolute.dir}" />
|
||
|
<compilerarg line="${java.compilerargs}" />
|
||
|
</javac>
|
||
|
|
||
|
<!-- if the project is instrumented, intrument the classes -->
|
||
|
<if condition="${build.is.instrumented}">
|
||
|
<then>
|
||
|
<echo level="info">Instrumenting classes from ${out.absolute.dir}/classes...</echo>
|
||
|
|
||
|
<!-- build the filter to remove R, Manifest, BuildConfig -->
|
||
|
<getemmafilter
|
||
|
appPackage="${project.app.package}"
|
||
|
libraryPackagesRefId="project.library.packages"
|
||
|
filterOut="emma.default.filter"/>
|
||
|
|
||
|
<!-- define where the .em file is going. This may have been
|
||
|
setup already if this is a library -->
|
||
|
<property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" />
|
||
|
|
||
|
<!-- It only instruments class files, not any external libs -->
|
||
|
<emma enabled="true">
|
||
|
<instr verbosity="${verbosity}"
|
||
|
mode="overwrite"
|
||
|
instrpath="${out.absolute.dir}/classes"
|
||
|
outdir="${out.absolute.dir}/classes"
|
||
|
metadatafile="${emma.coverage.absolute.file}">
|
||
|
<filter excludes="${emma.default.filter}" />
|
||
|
<filter value="${emma.filter}" />
|
||
|
</instr>
|
||
|
</emma>
|
||
|
</then>
|
||
|
</if>
|
||
|
|
||
|
<!-- if the project is a library then we generate a jar file -->
|
||
|
<if condition="${project.is.library}">
|
||
|
<then>
|
||
|
<echo level="info">Creating library output jar file...</echo>
|
||
|
<property name="out.library.jar.file" location="${out.absolute.dir}/classes.jar" />
|
||
|
<if>
|
||
|
<condition>
|
||
|
<length string="${android.package.excludes}" trim="true" when="greater" length="0" />
|
||
|
</condition>
|
||
|
<then>
|
||
|
<echo level="info">Custom jar packaging exclusion: ${android.package.excludes}</echo>
|
||
|
</then>
|
||
|
</if>
|
||
|
|
||
|
<propertybyreplace name="project.app.package.path" input="${project.app.package}" replace="." with="/" />
|
||
|
|
||
|
<jar destfile="${out.library.jar.file}">
|
||
|
<fileset dir="${out.classes.absolute.dir}"
|
||
|
includes="**/*.class"
|
||
|
excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/Manifest.class ${project.app.package.path}/Manifest$*.class ${project.app.package.path}/BuildConfig.class"/>
|
||
|
<fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
|
||
|
</jar>
|
||
|
</then>
|
||
|
</if>
|
||
|
|
||
|
</do-only-if-manifest-hasCode>
|
||
|
</target>
|
||
|
|
||
|
</project>
|