| OLD | NEW | 
|    1 <?xml version="1.0" encoding="UTF-8"?> |    1 <?xml version="1.0" encoding="UTF-8"?> | 
|    2 <!-- |    2 <!-- | 
|    3     Copyright (C) 2005-2008 The Android Open Source Project |    3     Copyright (C) 2005-2008 The Android Open Source Project | 
|    4  |    4  | 
|    5     Licensed under the Apache License, Version 2.0 (the "License"); |    5     Licensed under the Apache License, Version 2.0 (the "License"); | 
|    6     you may not use this file except in compliance with the License. |    6     you may not use this file except in compliance with the License. | 
|    7     You may obtain a copy of the License at |    7     You may obtain a copy of the License at | 
|    8  |    8  | 
|    9          http://www.apache.org/licenses/LICENSE-2.0 |    9          http://www.apache.org/licenses/LICENSE-2.0 | 
|   10  |   10  | 
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  218     <condition else="false" property="need.javac.fork"> |  218     <condition else="false" property="need.javac.fork"> | 
|  219         <and> |  219         <and> | 
|  220             <matches pattern="1\.[56]" string="${java.specification.version}"/> |  220             <matches pattern="1\.[56]" string="${java.specification.version}"/> | 
|  221             <not> |  221             <not> | 
|  222                 <os family="unix"/> |  222                 <os family="unix"/> | 
|  223             </not> |  223             </not> | 
|  224         </and> |  224         </and> | 
|  225     </condition> |  225     </condition> | 
|  226  |  226  | 
|  227     <!-- ******************************************************* --> |  227     <!-- ******************************************************* --> | 
|  228     <!-- ************************ Macros *********************** --> |  | 
|  229     <!-- ******************************************************* --> |  | 
|  230  |  | 
|  231     <macrodef name="record-build-key"> |  | 
|  232         <attribute name="key" default="false" /> |  | 
|  233         <attribute name="value" default="false" /> |  | 
|  234         <sequential> |  | 
|  235             <propertyfile file="${out.build.prop.file}" comment="Last build type
     "> |  | 
|  236                 <entry key="@{key}" value="@{value}"/> |  | 
|  237             </propertyfile> |  | 
|  238         </sequential> |  | 
|  239     </macrodef> |  | 
|  240  |  | 
|  241     <macrodef name="record-build-info"> |  | 
|  242         <sequential> |  | 
|  243             <record-build-key key="build.last.target" value="${build.target}" /> |  | 
|  244             <record-build-key key="build.last.is.instrumented" value="${build.is
     .instrumented}" /> |  | 
|  245             <record-build-key key="build.last.is.packaging.debug" value="${build
     .is.packaging.debug}" /> |  | 
|  246             <record-build-key key="build.last.is.signing.debug" value="${build.i
     s.signing.debug}" /> |  | 
|  247         </sequential> |  | 
|  248     </macrodef> |  | 
|  249  |  | 
|  250     <macrodef name="uninstall-helper"> |  | 
|  251         <attribute name="app.package" default="false" /> |  | 
|  252         <sequential> |  | 
|  253             <echo level="info">Uninstalling @{app.package} from the default emul
     ator or device...</echo> |  | 
|  254             <exec executable="${adb}" failonerror="true"> |  | 
|  255                 <arg line="${adb.device.arg}" /> |  | 
|  256                 <arg value="uninstall" /> |  | 
|  257                 <arg value="@{app.package}" /> |  | 
|  258             </exec> |  | 
|  259         </sequential> |  | 
|  260     </macrodef> |  | 
|  261  |  | 
|  262     <!-- ******************************************************* --> |  | 
|  263     <!-- ******************** Build Targets ******************** --> |  228     <!-- ******************** Build Targets ******************** --> | 
|  264     <!-- ******************************************************* --> |  229     <!-- ******************************************************* --> | 
|  265  |  230  | 
|  266     <!-- Basic Ant + SDK check --> |  231     <!-- Basic Ant + SDK check --> | 
|  267     <target name="-check-env"> |  232     <target name="-check-env"> | 
|  268         <checkenv /> |  233         <checkenv /> | 
|  269     </target> |  234     </target> | 
|  270  |  235  | 
|  271     <!-- generic setup --> |  236     <!-- generic setup --> | 
|  272     <target name="-setup" depends="-check-env"> |  237     <target name="-setup" depends="-check-env"> | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  319             </then> |  284             </then> | 
|  320         </if> |  285         </if> | 
|  321  |  286  | 
|  322     </target> |  287     </target> | 
|  323  |  288  | 
|  324     <!-- Pre build setup --> |  289     <!-- Pre build setup --> | 
|  325     <target name="-build-setup" depends="-setup"> |  290     <target name="-build-setup" depends="-setup"> | 
|  326  |  291  | 
|  327         <!-- read the previous build mode --> |  292         <!-- read the previous build mode --> | 
|  328         <property file="${out.build.prop.file}" /> |  293         <property file="${out.build.prop.file}" /> | 
|  329         <!-- if empty the props won't be set, meaning it's a new build. |  | 
|  330              To force a build, set the prop to empty values. --> |  | 
|  331         <property name="build.last.target" value="" /> |  | 
|  332         <property name="build.last.is.instrumented" value="" /> |  | 
|  333         <property name="build.last.is.packaging.debug" value="" /> |  | 
|  334         <property name="build.last.is.signing.debug" value="" /> |  | 
|  335  |  | 
|  336         <!-- If the "debug" build type changed, clear out the compiled code. |  | 
|  337              This is to make sure the new BuildConfig.DEBUG value is picked up |  | 
|  338              as javac can't deal with this type of change in its dependency comp
     utation. --> |  | 
|  339         <if> |  | 
|  340             <condition> |  | 
|  341                 <and> |  | 
|  342                     <length string="${build.last.is.packaging.debug}" trim="true
     " when="greater" length="0" /> |  | 
|  343                     <not><equals |  | 
|  344                             arg1="${build.is.packaging.debug}" |  | 
|  345                             arg2="${build.last.is.packaging.debug}" /></not> |  | 
|  346                 </and> |  | 
|  347             </condition> |  | 
|  348             <then> |  | 
|  349                 <echo level="info">Switching between debug and non debug build: 
     Deleting previous compilation output...</echo> |  | 
|  350                 <delete dir="${out.classes.absolute.dir}" verbose="${verbose}" /
     > |  | 
|  351             </then> |  | 
|  352             <else> |  | 
|  353                 <!-- Else, we may still need to clean the code, for another reas
     on. |  | 
|  354                      special case for instrumented: if the previous build was |  | 
|  355                      instrumented but not this one, clear out the compiled code 
     --> |  | 
|  356                 <if> |  | 
|  357                     <condition> |  | 
|  358                         <and> |  | 
|  359                             <istrue value="${build.last.is.instrumented}" /> |  | 
|  360                             <isfalse value="${build.is.instrumented}" /> |  | 
|  361                         </and> |  | 
|  362                     </condition> |  | 
|  363                     <then> |  | 
|  364                         <echo level="info">Switching from instrumented to non-in
     strumented build: Deleting previous compilation output...</echo> |  | 
|  365                         <delete dir="${out.classes.absolute.dir}" verbose="${ver
     bose}" /> |  | 
|  366                     </then> |  | 
|  367                 </if> |  | 
|  368             </else> |  | 
|  369         </if> |  | 
|  370  |  294  | 
|  371         <echo level="info">Resolving Build Target for ${ant.project.name}...</ec
     ho> |  295         <echo level="info">Resolving Build Target for ${ant.project.name}...</ec
     ho> | 
|  372         <!-- load project properties, resolve Android target, library dependenci
     es |  296         <!-- load project properties, resolve Android target, library dependenci
     es | 
|  373              and set some properties with the results. |  297              and set some properties with the results. | 
|  374              All property names are passed as parameters ending in -Out --> |  298              All property names are passed as parameters ending in -Out --> | 
|  375         <gettarget |  299         <gettarget | 
|  376                 androidJarFileOut="project.target.android.jar" |  300                 androidJarFileOut="project.target.android.jar" | 
|  377                 androidAidlFileOut="project.target.framework.aidl" |  301                 androidAidlFileOut="project.target.framework.aidl" | 
|  378                 bootClassPathOut="project.target.class.path" |  302                 bootClassPathOut="project.target.class.path" | 
|  379                 targetApiOut="project.target.apilevel" |  303                 targetApiOut="project.target.apilevel" | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  425             <res path="${out.res.absolute.dir}" /> |  349             <res path="${out.res.absolute.dir}" /> | 
|  426             <res path="${resource.absolute.dir}" /> |  350             <res path="${resource.absolute.dir}" /> | 
|  427         </aapt> |  351         </aapt> | 
|  428  |  352  | 
|  429         <echo level="info">----------</echo> |  353         <echo level="info">----------</echo> | 
|  430         <echo level="info">Handling BuildConfig class...</echo> |  354         <echo level="info">Handling BuildConfig class...</echo> | 
|  431         <buildconfig |  355         <buildconfig | 
|  432                 genFolder="${gen.absolute.dir}" |  356                 genFolder="${gen.absolute.dir}" | 
|  433                 package="${project.app.package}" |  357                 package="${project.app.package}" | 
|  434                 buildType="${build.is.packaging.debug}" |  358                 buildType="${build.is.packaging.debug}" | 
|  435                 previousBuildType="${build.last.is.packaging.debug}"/> |  359                 previousBuildType=""/> | 
|  436     </target> |  360     </target> | 
|  437  |  361  | 
|  438     <!-- empty default pre-compile target. Create a similar target in |  362     <!-- empty default pre-compile target. Create a similar target in | 
|  439          your build.xml and it'll be called instead of this one. --> |  363          your build.xml and it'll be called instead of this one. --> | 
|  440     <target name="-pre-compile"> |  364     <target name="-pre-compile"> | 
|  441       <!-- |  365       <!-- | 
|  442         Remove all .class files from the output directory. This prevents inclusi
     on of incorrect .class |  366         Remove all .class files from the output directory. This prevents inclusi
     on of incorrect .class | 
|  443         files in the final apk. For example, if a .java file was deleted, the ap
     k should not contain |  367         files in the final apk. For example, if a .java file was deleted, the ap
     k should not contain | 
|  444         the .class files for that .java from previous builds. |  368         the .class files for that .java from previous builds. | 
|  445       --> |  369       --> | 
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  661                 manifest="${out.manifest.abs.file}" |  585                 manifest="${out.manifest.abs.file}" | 
|  662                 assets="${asset.absolute.dir}" |  586                 assets="${asset.absolute.dir}" | 
|  663                 androidjar="${project.target.android.jar}" |  587                 androidjar="${project.target.android.jar}" | 
|  664                 apkfolder="${out.absolute.dir}" |  588                 apkfolder="${out.absolute.dir}" | 
|  665                 nocrunch="${build.packaging.nocrunch}" |  589                 nocrunch="${build.packaging.nocrunch}" | 
|  666                 resourcefilename="${resource.package.file.name}" |  590                 resourcefilename="${resource.package.file.name}" | 
|  667                 resourcefilter="${aapt.resource.filter}" |  591                 resourcefilter="${aapt.resource.filter}" | 
|  668                 libraryResFolderPathRefid="project.library.res.folder.path" |  592                 libraryResFolderPathRefid="project.library.res.folder.path" | 
|  669                 libraryPackagesRefid="project.library.packages" |  593                 libraryPackagesRefid="project.library.packages" | 
|  670                 libraryRFileRefid="project.library.bin.r.file.path" |  594                 libraryRFileRefid="project.library.bin.r.file.path" | 
|  671                 previousBuildType="${build.last.target}" |  595                 previousBuildType="" | 
|  672                 buildType="${build.target}" |  596                 buildType="${build.target}" | 
|  673                 ignoreAssets="${aapt.ignore.assets}"> |  597                 ignoreAssets="${aapt.ignore.assets}"> | 
|  674             <res path="${out.res.absolute.dir}" /> |  598             <res path="${out.res.absolute.dir}" /> | 
|  675             <res path="${resource.absolute.dir}" /> |  599             <res path="${resource.absolute.dir}" /> | 
|  676             <!-- <nocompress /> forces no compression on any files in assets or 
     res/raw --> |  600             <!-- <nocompress /> forces no compression on any files in assets or 
     res/raw --> | 
|  677             <!-- <nocompress extension="xml" /> forces no compression on specifi
     c file extensions in assets and res/raw --> |  601             <!-- <nocompress extension="xml" /> forces no compression on specifi
     c file extensions in assets and res/raw --> | 
|  678         </aapt> |  602         </aapt> | 
|  679     </target> |  603     </target> | 
|  680  |  604  | 
|  681     <!-- Packages the application. --> |  605     <!-- Packages the application. --> | 
|  682     <target name="-package" depends="-dex, -package-resources"> |  606     <target name="-package" depends="-dex, -package-resources"> | 
|  683         <sequential> |  607         <sequential> | 
|  684             <apkbuilder |  608             <apkbuilder | 
|  685                     outfolder="${out.absolute.dir}" |  609                     outfolder="${out.absolute.dir}" | 
|  686                     resourcefile="${resource.package.file.name}" |  610                     resourcefile="${resource.package.file.name}" | 
|  687                     apkfilepath="${out.packaged.file}" |  611                     apkfilepath="${out.packaged.file}" | 
|  688                     debugpackaging="${build.is.packaging.debug}" |  612                     debugpackaging="${build.is.packaging.debug}" | 
|  689                     debugsigning="${build.is.signing.debug}" |  613                     debugsigning="${build.is.signing.debug}" | 
|  690                     verbose="${verbose}" |  614                     verbose="${verbose}" | 
|  691                     hascode="${manifest.hasCode}" |  615                     hascode="${manifest.hasCode}" | 
|  692                     previousBuildType="${build.last.is.packaging.debug}/${build.
     last.is.signing.debug}" |  616                     previousBuildType="/" | 
|  693                     buildType="${build.is.packaging.debug}/${build.is.signing.de
     bug}"> |  617                     buildType="${build.is.packaging.debug}/${build.is.signing.de
     bug}"> | 
|  694                 <dex path="${intermediate.dex.file}"/> |  618                 <dex path="${intermediate.dex.file}"/> | 
|  695                 <sourcefolder path="${source.absolute.dir}"/> |  619                 <sourcefolder path="${source.absolute.dir}"/> | 
|  696                 <nativefolder path="${native.libs.absolute.dir}" /> |  620                 <nativefolder path="${native.libs.absolute.dir}" /> | 
|  697             </apkbuilder> |  621             </apkbuilder> | 
|  698         </sequential> |  622         </sequential> | 
|  699     </target> |  623     </target> | 
|  700  |  624  | 
|  701     <target name="-post-package" /> |  625     <target name="-post-package" /> | 
|  702     <target name="-post-build" /> |  626     <target name="-post-build" /> | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  762                 executable="${zipalign}" |  686                 executable="${zipalign}" | 
|  763                 input="${out.unaligned.file}" |  687                 input="${out.unaligned.file}" | 
|  764                 output="${out.final.file}" |  688                 output="${out.final.file}" | 
|  765                 verbose="${verbose}" /> |  689                 verbose="${verbose}" /> | 
|  766         <echo level="info">Release Package: ${out.final.file}</echo> |  690         <echo level="info">Release Package: ${out.final.file}</echo> | 
|  767       </sequential> |  691       </sequential> | 
|  768     </target> |  692     </target> | 
|  769  |  693  | 
|  770     <target name="-do-debug" |  694     <target name="-do-debug" | 
|  771       depends="-set-debug-mode, -debug-obfuscation-check, -do-sign"> |  695       depends="-set-debug-mode, -debug-obfuscation-check, -do-sign"> | 
|  772       <record-build-info /> |  | 
|  773     </target> |  696     </target> | 
|  774  |  697  | 
|  775     <!-- Builds debug output package --> |  698     <!-- Builds debug output package --> | 
|  776     <target name="debug" depends="-set-debug-files, -do-debug, -post-build" |  699     <target name="debug" depends="-set-debug-files, -do-debug, -post-build" | 
|  777                 description="Builds the application and signs it with a debug ke
     y."> |  700                 description="Builds the application and signs it with a debug ke
     y."> | 
|  778     </target> |  701     </target> | 
|  779  |  702  | 
|  780     <!-- ******************************************************* --> |  703     <!-- ******************************************************* --> | 
|  781     <!-- *************** Release specific targets ************** --> |  704     <!-- *************** Release specific targets ************** --> | 
|  782     <!-- ******************************************************* --> |  705     <!-- ******************************************************* --> | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  827             <else> |  750             <else> | 
|  828                 <!-- property only set in release mode. |  751                 <!-- property only set in release mode. | 
|  829                      Useful for if/unless attributes in target node |  752                      Useful for if/unless attributes in target node | 
|  830                      when using Ant before 1.8 --> |  753                      when using Ant before 1.8 --> | 
|  831                 <property name="build.is.mode.release" value="true"/> |  754                 <property name="build.is.mode.release" value="true"/> | 
|  832             </else> |  755             </else> | 
|  833         </if> |  756         </if> | 
|  834     </target> |  757     </target> | 
|  835  |  758  | 
|  836     <target name="-release-sign" depends="-do-sign" > |  759     <target name="-release-sign" depends="-do-sign" > | 
|  837         <record-build-info /> |  | 
|  838     </target> |  760     </target> | 
|  839  |  761  | 
|  840     <!-- This runs -package-release first and then runs |  762     <!-- This runs -package-release first and then runs | 
|  841          only if release-sign is true (set in -release-check, |  763          only if release-sign is true (set in -release-check, | 
|  842          called by -release-no-sign)--> |  764          called by -release-no-sign)--> | 
|  843     <target name="release" |  765     <target name="release" | 
|  844                 depends="-set-release-mode, -release-obfuscation-check, -package
     , -post-package, -release-sign, -post-build" |  766                 depends="-set-release-mode, -release-obfuscation-check, -package
     , -post-package, -release-sign, -post-build" | 
|  845                 description="Builds the application in release mode."> |  767                 description="Builds the application in release mode."> | 
|  846     </target> |  768     </target> | 
|  847  |  769  | 
|  848 </project> |  770 </project> | 
| OLD | NEW |