Lines Matching +full:- +full:- +full:dir

1 <?xml version="1.0" encoding="UTF-8"?>
4 <!--
14 - custom task definitions,
15 - more properties (do not override those unless the whole build system is modified).
16 - macros used throughout the build,
17 - base build targets,
18 - debug-specific build targets,
19 - release-specific build targets,
20 - instrument-specific build targets,
21 - test project-specific build targets,
22 - install targets,
23 - help target
24 -->
26 <!-- ******************************************************* -->
27 <!-- **************** Overridable Properties *************** -->
28 <!-- ******************************************************* -->
30 <!-- You can override these values in your build.xml or ant.properties.
31 Overriding any other properties may result in broken build. -->
33 <!-- Tells adb which device to target. You can change this from the command line
34 by invoking "ant -Dadb.device.arg=-d" for device "ant -Dadb.device.arg=-e" for
35 the emulator. -->
38 <!-- fileset exclude patterns (space separated) to prevent
39 files inside src/ from being packaged. -->
42 <!-- set some properties used for filtering/override. If those weren't defined
44 by the custom tasks receiving them. -->
48 <!-- 'aapt.ignore.assets' is the list of file patterns to ignore under /res and /assets.
49 Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
52 [!][<dir>|<file>][*suffix-match|prefix-match*|full-match]:more:patterns...
54 - The first character flag ! avoids printing a warning.
55 - Pattern can have the flag "<dir>" to match only directories
57 - Match is not case-sensitive.
58 -->
61 <!-- dex force jumbo options, to be used when dex merging fails with
62 …UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.util.DexException: Cannot handle conversion to jumb…
65 -->
69 <!-- compilation options -->
70 <property name="java.encoding" value="UTF-8" />
76 <!-- Renderscript options -->
81 <!-- manifest merger default value -->
84 <!-- instrumentation options -->
87 <!-- Verbosity -->
90 <!-- Output location of the HTML report for the "lint" target.
92 value="${out.dir}/lint-results.html"
94 ${out.dir}, and it is not a configurable property (yet).
95 -->
96 <property name="lint.out.html" value="bin/lint-results.html" />
98 <!-- Output location of the XML report for the "lint" target -->
99 <property name="lint.out.xml" value="bin/lint-results.xml" />
101 <!-- ******************************************************* -->
102 <!-- ********************* Custom Tasks ******************** -->
103 <!-- ******************************************************* -->
105 <!-- jar file from where the tasks are loaded -->
107 <pathelement path="${sdk.dir}/tools/lib/ant-tasks.jar" />
110 <!-- Custom tasks -->
113 <!-- Emma configuration -->
114 <property name="emma.dir" value="${sdk.dir}/tools/lib" />
116 <pathelement location="${emma.dir}/emma.jar" />
117 <pathelement location="${emma.dir}/emma_ant.jar" />
120 <!-- End of emma configuration -->
123 <!-- ******************************************************* -->
124 <!-- ******************* Other Properties ****************** -->
125 <!-- ******************************************************* -->
126 <!-- overriding these properties may break the build
127 unless the whole file is updated -->
129 <!-- Input directories -->
130 <property name="source.dir" value="src" />
131 <property name="source.absolute.dir" location="${source.dir}" />
132 <property name="gen.absolute.dir" location="gen" />
133 <property name="resource.absolute.dir" location="res" />
134 <property name="asset.dir" value="assets" />
135 <property name="asset.absolute.dir" location="${asset.dir}" />
136 <property name="jar.libs.dir" value="libs" />
137 <property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
138 <property name="native.libs.absolute.dir" location="libs" />
143 <!-- Output directories -->
144 <property name="out.dir" value="bin" />
145 <property name="out.absolute.dir" location="${out.dir}" />
146 <property name="out.classes.absolute.dir" location="${out.dir}/classes" />
147 <property name="out.res.absolute.dir" location="${out.dir}/res" />
148 <property name="out.rs.obj.absolute.dir" location="${out.dir}/rsObj" />
149 <property name="out.rs.libs.absolute.dir" location="${out.dir}/rsLibs" />
150 <property name="out.aidl.absolute.dir" location="${out.dir}/aidl" />
151 <property name="out.dexed.absolute.dir" location="${out.dir}/dexedLibs" />
152 <property name="out.manifest.abs.file" location="${out.dir}/AndroidManifest.xml" />
154 <!-- tools location -->
155 <property name="android.tools.dir" location="${sdk.dir}/tools" />
156 <property name="android.platform.tools.dir" location="${sdk.dir}/platform-tools" />
159 <property name="adb" location="${android.platform.tools.dir}/adb${exe}" />
160 <property name="lint" location="${android.tools.dir}/lint${bat}" />
162 <!-- Intermediate files -->
164 <property name="intermediate.dex.file" location="${out.absolute.dir}/${dex.file.name}" />
167 <!-- Build property file -->
168 <property name="out.build.prop.file" location="${out.absolute.dir}/build.prop" />
171 <!-- This is needed by emma as it uses multilevel verbosity instead of simple 'true' or 'false'
173 value.-->
178 <!-- properties for signing in release mode -->
194 <!-- properties for packaging -->
197 <!-- whether we need to fork javac.
198 This is only needed on Windows when running Java < 7 -->
208 <!-- ******************************************************* -->
209 <!-- ************************ Macros *********************** -->
210 <!-- ******************************************************* -->
212 <!-- macro to do a task on if project.is.library is false.
213 elseText attribute is displayed otherwise -->
214 <macrodef name="do-only-if-not-library">
216 <element name="task-to-do" implicit="yes" />
220 <task-to-do />
229 <!-- macro to do a task on if manifest.hasCode is true.
230 elseText attribute is displayed otherwise -->
231 <macrodef name="do-only-if-manifest-hasCode">
233 <element name="task-to-do" implicit="yes" />
237 <task-to-do />
254 <!-- Configurable macro, which allows to pass as parameters output directory,
255 output dex filename and external libraries to dex (optional) -->
256 <macrodef name="dex-helper">
257 <element name="external-libs" optional="yes" />
260 <!-- sets the primary input for dex. If a pre-dex task sets it to
261 something else this has no effect -->
262 <property name="out.dex.input.absolute.dir" value="${out.classes.absolute.dir}" />
264 <!-- set the secondary dx input: the project (and library) jar files
265 If a pre-dex task sets it to something else this has no effect -->
279 dexedlibs="${out.dexed.absolute.dir}"
284 <path path="${out.dex.input.absolute.dir}"/>
286 <external-libs />
291 <!-- This is macro that enable passing variable list of external jar files to ApkBuilder
293 <package-helper>
294 <extra-jars>
298 </extra-jars>
299 </package-helper> -->
300 <macrodef name="package-helper">
301 <element name="extra-jars" optional="yes" />
304 outfolder="${out.absolute.dir}"
314 <sourcefolder path="${source.absolute.dir}"/>
316 <nativefolder path="${native.libs.absolute.dir}" />
319 <nativefolder path="${out.rs.libs.absolute.dir}" />
320 <extra-jars/>
325 <!-- This is macro which zipaligns in.package and outputs it to out.package. Used by targets
326 debug, -debug-with-emma and release.-->
327 <macrodef name="zipalign-helper">
339 <macrodef name="run-tests-helper">
341 <element name="extra-instrument-args" optional="yes" />
349 <arg value="-w" />
350 <arg value="-e" />
353 <extra-instrument-args />
359 <macrodef name="record-build-key">
369 <macrodef name="record-build-info">
371 <record-build-key key="build.last.target" value="${build.target}" />
372 <record-build-key key="build.last.is.instrumented" value="${build.is.instrumented}" />
373 … <record-build-key key="build.last.is.packaging.debug" value="${build.is.packaging.debug}" />
374 <record-build-key key="build.last.is.signing.debug" value="${build.is.signing.debug}" />
378 <macrodef name="uninstall-helper">
390 <!-- ******************************************************* -->
391 <!-- ******************** Build Targets ******************** -->
392 <!-- ******************************************************* -->
394 <!-- Basic Ant + SDK check -->
395 <target name="-check-env">
399 <!-- target to disable building dependencies -->
404 <!-- generic setup -->
405 <target name="-setup" depends="-check-env">
409 <!-- sets a few boolean based on project.type
410 to make the if task easier -->
418 <equals arg1="${project.type}" arg2="test-app" />
421 <!-- If a test project, resolve absolute path to tested project. -->
424 <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
428 <!-- get the project manifest package -->
434 <!-- empty default pre-clean target. Create a similar target in
435 your build.xml and it'll be called instead of this one. -->
436 <target name="-pre-clean"/>
438 <!-- clean target -->
439 <target name="clean" depends="-setup, -pre-clean"
441 <delete dir="${out.absolute.dir}" verbose="${verbose}" />
442 <delete dir="${gen.absolute.dir}" verbose="${verbose}" />
444 <!-- if we know about a tested project or libraries, we clean them too. -->
447 <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
449 <fileset dir="${tested.project.absolute.dir}" includes="build.xml" />
455 <!-- get all the libraries -->
465 <!-- clean the libraries with nodeps since we already
466 know about all the libraries even the indirect one -->
480 <!-- Pre build setup -->
481 <target name="-build-setup" depends="-setup">
482 <!-- find location of build tools -->
483 <getbuildtools name="android.build.tools.dir" verbose="${verbose}" />
485 <!-- read the previous build mode -->
487 <!-- if empty the props won't be set, meaning it's a new build.
488 To force a build, set the prop to empty values. -->
494 <!-- If the "debug" build type changed, clear out the compiled code.
496 as javac can't deal with this type of change in its dependency computation. -->
508 <delete dir="${out.classes.absolute.dir}" verbose="${verbose}" />
511 <!-- Else, we may still need to clean the code, for another reason.
513 instrumented but not this one, clear out the compiled code -->
522 …<echo level="info">Switching from instrumented to non-instrumented build: Deleting previous compil…
523 <delete dir="${out.classes.absolute.dir}" verbose="${verbose}" />
530 <!-- load project properties, resolve Android target, library dependencies
532 All property names are passed as parameters ending in -Out -->
540 <!-- Value of the hasCode attribute (Application node) extracted from manifest file -->
544 <echo level="info">----------</echo>
546 <mkdir dir="${resource.absolute.dir}" />
547 <mkdir dir="${jar.libs.absolute.dir}" />
548 <mkdir dir="${out.absolute.dir}" />
549 <mkdir dir="${out.res.absolute.dir}" />
550 <mkdir dir="${out.rs.obj.absolute.dir}" />
551 <mkdir dir="${out.rs.libs.absolute.dir}" />
552 <do-only-if-manifest-hasCode>
553 <mkdir dir="${gen.absolute.dir}" />
554 <mkdir dir="${out.classes.absolute.dir}" />
555 <mkdir dir="${out.dexed.absolute.dir}" />
556 </do-only-if-manifest-hasCode>
558 <echo level="info">----------</echo>
571 buildToolsFolder="${android.build.tools.dir}"
575 <!-- compile the libraries if any -->
584 <!-- figure out which target must be used to build the library projects.
585 If emma is enabled, then use 'instrument' otherwise, use 'debug' -->
590 <echo level="info">----------</echo>
593 <!-- no need to build the deps as we have already
594 the full list of libraries -->
600 … <property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" />
605 <!-- compile the main project if this is a test project -->
608 <!-- figure out which target must be used to build the tested project.
609 If emma is enabled, then use 'instrument' otherwise, use 'debug' -->
614 <echo level="info">----------</echo>
615 …<echo level="info">Building tested project at ${tested.project.absolute.dir} with '${tested.projec…
617 <fileset dir="${tested.project.absolute.dir}" includes="build.xml" />
620 <!-- get the tested project full classpath to be able to build
621 the test project -->
623 projectLocation="${tested.project.absolute.dir}"
627 <!-- no tested project, make an empty Path object so that javac doesn't
628 complain -->
634 <!-- empty default pre-build target. Create a similar target in
635 your build.xml and it'll be called instead of this one. -->
636 <target name="-pre-build"/>
638 <!-- Code Generation: compile resources (aapt -> R.java), aidl, renderscript -->
639 <target name="-code-gen">
640 <!-- always merge manifest -->
648 <do-only-if-manifest-hasCode
654 genFolder="${gen.absolute.dir}"
655 aidlOutFolder="${out.aidl.absolute.dir}">
656 <source path="${source.absolute.dir}"/>
659 <!-- renderscript generates resources so it must be called before aapt -->
660 <echo level="info">----------</echo>
662 <!-- set the rs target prop in case it hasn't been set. -->
665 buildToolsRoot="${android.build.tools.dir}"
666 genFolder="${gen.absolute.dir}"
667 resFolder="${out.res.absolute.dir}"
668 rsObjFolder="${out.rs.obj.absolute.dir}"
669 libsFolder="${out.rs.libs.absolute.dir}"
673 binFolder="${out.absolute.dir}"
676 <source path="${source.absolute.dir}"/>
679 <echo level="info">----------</echo>
687 rfolder="${gen.absolute.dir}"
693 binFolder="${out.absolute.dir}"
694 proguardFile="${out.absolute.dir}/proguard.txt">
695 <res path="${out.res.absolute.dir}" />
696 <res path="${resource.absolute.dir}" />
699 <echo level="info">----------</echo>
702 genFolder="${gen.absolute.dir}"
707 </do-only-if-manifest-hasCode>
710 <!-- empty default pre-compile target. Create a similar target in
711 your build.xml and it'll be called instead of this one. -->
712 <target name="-pre-compile"/>
714 <!-- Compiles this project's .java files into .class files. -->
715 <target name="-compile" depends="-pre-build, -build-setup, -code-gen, -pre-compile">
716 <do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
717 <!-- merge the project's own classpath and the tested project's classpath -->
726 destdir="${out.classes.absolute.dir}"
731 <src path="${source.absolute.dir}" />
732 <src path="${gen.absolute.dir}" />
736 <!-- if the project is instrumented, intrument the classes -->
739 … <echo level="info">Instrumenting classes from ${out.absolute.dir}/classes...</echo>
741 <!-- build the filter to remove R, Manifest, BuildConfig -->
747 <!-- define where the .em file is going. This may have been
748 setup already if this is a library -->
749 … <property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" />
751 <!-- It only instruments class files, not any external libs -->
755 instrpath="${out.absolute.dir}/classes"
756 outdir="${out.absolute.dir}/classes"
765 <!-- if the project is a library then we generate a jar file -->
769 … <property name="out.library.jar.file" location="${out.absolute.dir}/classes.jar" />
782 <fileset dir="${out.classes.absolute.dir}"
785 … <fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
790 </do-only-if-manifest-hasCode>
793 <!-- empty default post-compile target. Create a similar target in
794 your build.xml and it'll be called instead of this one. -->
795 <target name="-post-compile"/>
797 <!-- Obfuscate target
803 -release-obfuscation-check
805 -debug-obfuscation-check
807 -obfuscate
808 check if the property set in -debug/release-obfuscation-check is set to true.
811 Set property out.dex.input.absolute.dir to be the output of the obfuscation
812 -->
813 <target name="-obfuscate">
816 <property name="obfuscate.absolute.dir" location="${out.absolute.dir}/proguard" />
817 … <property name="preobfuscate.jar.file" value="${obfuscate.absolute.dir}/original.jar" />
818 … <property name="obfuscated.jar.file" value="${obfuscate.absolute.dir}/obfuscated.jar" />
819 <!-- input for dex will be proguard's output -->
820 <property name="out.dex.input.absolute.dir" value="${obfuscated.jar.file}" />
822 <!-- Add Proguard Tasks -->
823 … <property name="proguard.jar" location="${android.tools.dir}/proguard/lib/proguard.jar" />
826 <!-- Set the android classpath Path object into a single property. It'll be
827 all the jar files separated by a platform path-separator.
829 -->
837 <!-- Build a path object with all the jar files that must be obfuscated.
839 files. -->
844 <!-- Set the project jar files Path object into a single property. It'll be
845 all the jar files separated by a platform path-separator.
847 -->
855 <!-- Turn the path property ${proguard.config} from an A:B:C property
856 into a series of includes: -include A -include B -include C
857 suitable for processing by the ProGuard task. Note - this does
858 not include the leading '-include "' or the closing '"'; those
860 -->
864 … <pathconvert pathsep='" -include "' property="proguard.configcmd" refid="proguard.configpath"/>
866 <mkdir dir="${obfuscate.absolute.dir}" />
869 <jar basedir="${out.classes.absolute.dir}"
872 -include "${proguard.configcmd}"
873 -include "${out.absolute.dir}/proguard.txt"
874 -injars ${project.all.classes.value}
875 -outjars "${obfuscated.jar.file}"
876 -libraryjars ${project.target.classpath.value}
877 -dump "${obfuscate.absolute.dir}/dump.txt"
878 -printseeds "${obfuscate.absolute.dir}/seeds.txt"
879 -printusage "${obfuscate.absolute.dir}/usage.txt"
880 -printmapping "${obfuscate.absolute.dir}/mapping.txt"
886 <!-- Converts this project's .class files into .dex files -->
887 <target name="-dex" depends="-compile, -post-compile, -obfuscate">
888 <do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
889 <!-- only convert to dalvik bytecode is *not* a library -->
890 <do-only-if-not-library elseText="Library project: do not convert bytecode..." >
891 <!-- special case for instrumented builds: need to use no-locals and need
892 to pass in the emma jar. -->
895 <dex-helper nolocals="true">
896 <external-libs>
897 <fileset file="${emma.dir}/emma_device.jar" />
898 </external-libs>
899 </dex-helper>
902 <dex-helper />
905 </do-only-if-not-library>
906 </do-only-if-manifest-hasCode>
909 <!-- Updates the pre-processed PNG cache -->
910 <target name="-crunch">
913 <arg value="-v" />
914 <arg value="-S" />
915 <arg path="${resource.absolute.dir}" />
916 <arg value="-C" />
917 <arg path="${out.res.absolute.dir}" />
921 <!-- Puts the project's resources into the output package file
925 -->
926 <target name="-package-resources" depends="-crunch">
927 <!-- only package resources if *not* a library project -->
928 <do-only-if-not-library elseText="Library project: do not package resources..." >
935 assets="${asset.absolute.dir}"
937 apkfolder="${out.absolute.dir}"
947 <res path="${out.res.absolute.dir}" />
948 <res path="${resource.absolute.dir}" />
949 <!-- <nocompress /> forces no compression on any files in assets or res/raw -->
950 …<!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets an…
952 </do-only-if-not-library>
955 <!-- Packages the application. -->
956 <target name="-package" depends="-dex, -package-resources">
957 <!-- only package apk if *not* a library project -->
958 <do-only-if-not-library elseText="Library project: do not package apk..." >
961 <package-helper>
962 <extra-jars>
963 <!-- Injected from external file -->
964 <jarfile path="${emma.dir}/emma_device.jar" />
965 </extra-jars>
966 </package-helper>
969 <package-helper />
972 </do-only-if-not-library>
975 <target name="-post-package" />
976 <target name="-post-build" />
978 <target name="-set-mode-check">
983 <!-- ******************************************************* -->
984 <!-- **************** Debug specific targets *************** -->
985 <!-- ******************************************************* -->
987 <target name="-set-debug-files" depends="-set-mode-check">
989 …<property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-debug-unalign…
990 … <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-debug.apk" />
995 <target name="-set-debug-mode" depends="-setup">
996 <!-- record the current build target -->
1014 <!-- whether the build is a debug build. always set. -->
1017 <!-- signing mode: debug -->
1020 <!-- Renderscript optimization level: none -->
1025 <target name="-debug-obfuscation-check">
1026 <!-- proguard is never enabled in debug mode -->
1030 <!-- Builds debug output package -->
1031 …<target name="-do-debug" depends="-set-debug-mode, -debug-obfuscation-check, -package, -post-packa…
1032 <!-- only create apk if *not* a library project -->
1033 <do-only-if-not-library elseText="Library project: do not create apk..." >
1035 … <zipalign-helper in.package="${out.packaged.file}" out.package="${out.final.file}" />
1038 </do-only-if-not-library>
1039 <record-build-info />
1042 <!-- Builds debug output package -->
1043 <target name="debug" depends="-set-debug-files, -do-debug, -post-build"
1048 <!-- ******************************************************* -->
1049 <!-- *************** Release specific targets ************** -->
1050 <!-- ******************************************************* -->
1052 <!-- called through target 'release'. Only executed if the keystore and
1053 key alias are known but not their password. -->
1054 <target name="-release-prompt-for-password" if="has.keystore" unless="has.password">
1055 <!-- Gets passwords -->
1064 <!-- called through target 'release'. Only executed if there's no
1065 keystore/key alias set -->
1066 <target name="-release-nosign" unless="has.keystore">
1067 <!-- no release builds for library project -->
1068 <do-only-if-not-library elseText="" >
1074 </do-only-if-not-library>
1075 <record-build-info />
1078 <target name="-release-obfuscation-check">
1089 <!-- Secondary dx input (jar files) is empty since all the
1090 jar files will be in the obfuscated jar -->
1096 <target name="-set-release-mode" depends="-set-mode-check">
1097 …<property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-release-unsig…
1098 … <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-release.apk" />
1101 <!-- record the current build target -->
1106 <!-- release mode is only valid if the manifest does not explicitly
1107 set debuggable to true. default is false. -->
1111 <!-- signing mode: release -->
1114 <!-- Renderscript optimization level: aggressive -->
1125 <!-- property only set in release mode.
1127 when using Ant before 1.8 -->
1133 <target name="-release-sign" if="has.keystore" >
1134 <!-- only create apk if *not* a library project -->
1135 <do-only-if-not-library elseText="Library project: do not create apk..." >
1137 …property name="out.unaligned.file" location="${out.absolute.dir}/${ant.project.name}-release-unali…
1139 <!-- Signs the APK -->
1149 <!-- Zip aligns the APK -->
1150 <zipalign-helper
1155 </do-only-if-not-library>
1156 <record-build-info />
1159 <!-- This runs -package-release and -release-nosign first and then runs
1160 only if release-sign is true (set in -release-check,
1161 called by -release-no-sign)-->
1163 …ends="-set-release-mode, -release-obfuscation-check, -package, -post-package, -release-prompt-for-
1167 <!-- ******************************************************* -->
1168 <!-- ************ Instrumented specific targets ************ -->
1169 <!-- ******************************************************* -->
1171 <!-- These targets are specific for the project under test when it
1173 support emma code coverage -->
1175 <target name="-set-instrumented-mode" depends="-set-mode-check">
1176 …operty name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-instrumented-una…
1177 …<property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-instrumented.apk…
1180 <!-- whether the build is an instrumented build. -->
1184 <!-- Builds instrumented output package -->
1185 <target name="instrument" depends="-set-instrumented-mode, -do-debug"
1187 <!-- only create apk if *not* a library project -->
1188 <do-only-if-not-library elseText="Library project: do not create apk..." >
1190 … <zipalign-helper in.package="${out.packaged.file}" out.package="${out.final.file}" />
1193 </do-only-if-not-library>
1194 <record-build-info />
1197 <!-- ******************************************************* -->
1198 <!-- ************ Test project specific targets ************ -->
1199 <!-- ******************************************************* -->
1201 <!-- enable code coverage -->
1206 <!-- fails if the project is not a test project -->
1207 <target name="-test-project-check" depends="-setup">
1221 <target name="test" depends="-test-project-check"
1227 <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
1229 <!-- Application package of the tested project extracted from its manifest file -->
1230 <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml"
1235 <getprojectpaths projectPath="${tested.project.absolute.dir}"
1236 binOut="tested.project.out.absolute.dir"
1237 srcOut="tested.project.source.absolute.dir" />
1239 <getlibpath projectPath="${tested.project.absolute.dir}"
1241 leaf="@{source.dir}" />
1248 <!-- this is a test app, the tested package is the app's own package -->
1253 <property name="tested.project.out.absolute.dir" value="${out.absolute.dir}" />
1254 … <property name="tested.project.source.absolute.dir" value="${source.absolute.dir}" />
1258 leaf="@{source.dir}" />
1272 <run-tests-helper emma.enabled="true">
1273 <extra-instrument-args>
1274 <arg value="-e" />
1277 </extra-instrument-args>
1278 </run-tests-helper>
1284 <arg value="run-as" />
1295 <arg path="${out.absolute.dir}/coverage.ec" />
1307 <property name="report.html.out.encoding" value="UTF-8" />
1308 … <report sourcepath="${tested.project.source.absolute.dir}:${tested.project.lib.source.path.value}"
1310 … <!-- TODO: report.dir or something like should be introduced if necessary -->
1311 <infileset file="${out.absolute.dir}/coverage.ec" />
1312 <infileset file="${tested.project.out.absolute.dir}/coverage.em" />
1313 <!-- TODO: reports in other, indicated by user formats -->
1314 <html outfile="${out.absolute.dir}/coverage.html" />
1315 <txt outfile="${out.absolute.dir}/coverage.txt" />
1316 <xml outfile="${out.absolute.dir}/coverage.xml" />
1320 <delete file="${out.absolute.dir}/coverage.ec" />
1321 <delete file="${tested.project.out.absolute.dir}/coverage.em" />
1325 <arg value="run-as" />
1330 <echo level="info">Saving the coverage reports in ${out.absolute.dir}</echo>
1333 <run-tests-helper />
1338 <!-- ******************************************************* -->
1339 <!-- ********** Run Lint on the project ********* -->
1340 <!-- ******************************************************* -->
1347 src="${source.absolute.dir}:${gen.absolute.dir}"
1348 classpath="${out.classes.absolute.dir}" />
1351 <!-- ******************************************************* -->
1352 <!-- ********** Install/uninstall specific targets ********* -->
1353 <!-- ******************************************************* -->
1359 <!-- only do install if *not* a library project -->
1360 <do-only-if-not-library elseText="Library project: nothing to install!" >
1377 <arg value="-r" />
1381 <!-- now install the tested project if applicable -->
1382 … <!-- can't use project.is.test since the setup target might not have run -->
1386 <isset property="tested.project.dir" />
1393 … <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
1395 … <!-- figure out which tested package to install based on emma.enabled -->
1400 … <fileset dir="${tested.project.absolute.dir}" includes="build.xml" />
1430 </do-only-if-not-library>
1433 <target name="installd" depends="-set-debug-files, install"
1435 <target name="installr" depends="-set-release-mode, install"
1437 <target name="installi" depends="-set-instrumented-mode, install"
1439 <target name="installt" depends="-test-project-check, installd"
1443 <!-- Uninstalls the package from the default emulator/device -->
1444 <target name="uninstall" depends="-setup"
1451 <uninstall-helper app.package="${project.app.package}" />
1458 <!-- Now uninstall the tested project, if applicable -->
1469 <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
1471 <!-- Application package of the tested project extracted from its manifest file -->
1472 <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml"
1479 <uninstall-helper app.package="${tested.project.app.package}" />
1491 <!-- ******************************************************* -->
1492 <!-- ************************* Help ************************ -->
1493 <!-- ******************************************************* -->
1496 <!-- displays starts at col 13
1497 |13 80| -->