Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: build/android/ant/apk-build.xml

Issue 12595008: Remove ant stuff dealing with library dependencies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@delete_cruft
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
11 Unless required by applicable law or agreed to in writing, software 11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS, 12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and 14 See the License for the specific language governing permissions and
15 limitations under the License. 15 limitations under the License.
16 --> 16 -->
17 17
18 <project name="android_rules" default="debug"> 18 <project name="android_rules" default="debug">
19 19
20 <!--
21 This build file is imported by the project build file. It contains
22 all the targets and tasks necessary to build Android projects, be they
23 regular projects, library projects, or test projects.
24
25 At the beginning of the file is a list of properties that can be overrid den
26 by adding them to your ant.properties (properties are immutable, so thei r
27 first definition sticks and is never changed).
28
29 Follows:
30 - custom task definitions,
31 - more properties (do not override those unless the whole build system i s modified).
32 - macros used throughout the build,
33 - base build targets,
34 - debug-specific build targets,
35 - release-specific build targets,
36 - instrument-specific build targets,
37 - test project-specific build targets,
38 - install targets,
39 - help target
40 -->
41
42 <property-location name="out.dir" location="${OUT_DIR}" check-exists="false" /> 20 <property-location name="out.dir" location="${OUT_DIR}" check-exists="false" />
43 21
44 <path id="javac.srcdirs.additional"> 22 <path id="javac.srcdirs.additional">
45 <filelist files="${ADDITIONAL_SRC_DIRS}"/> 23 <filelist files="${ADDITIONAL_SRC_DIRS}"/>
46 <filelist files="${GENERATED_SRC_DIRS}"/> 24 <filelist files="${GENERATED_SRC_DIRS}"/>
47 </path> 25 </path>
48 26
49 <!-- 27 <!--
50 Include additional resource folders in the apk, e.g. content/.../res. We 28 Include additional resource folders in the apk, e.g. content/.../res. We
51 list the res folders in project.library.res.folder.path and the 29 list the res folders in project.library.res.folder.path and the
(...skipping 26 matching lines...) Expand all
78 <!-- Set the output directory for the final apk to the ${apks.dir}. --> 56 <!-- Set the output directory for the final apk to the ${apks.dir}. -->
79 <property-location name="out.final.file" 57 <property-location name="out.final.file"
80 location="${apks.dir}/${ant.project.name}.apk" 58 location="${apks.dir}/${ant.project.name}.apk"
81 check-exists="false"/> 59 check-exists="false"/>
82 60
83 <!-- Classpath for javac --> 61 <!-- Classpath for javac -->
84 <path id="javac.custom.classpath"> 62 <path id="javac.custom.classpath">
85 <filelist files="${INPUT_JARS_PATHS}"/> 63 <filelist files="${INPUT_JARS_PATHS}"/>
86 </path> 64 </path>
87 65
66 <!--
67 TODO(cjhopman): This is wrong for proguard builds. In that case, it should be just the
68 obfuscated jar.
69 -->
88 <path id="out.dex.jar.input.ref"> 70 <path id="out.dex.jar.input.ref">
89 <path refid="javac.custom.classpath"/> 71 <path refid="javac.custom.classpath"/>
90 </path> 72 </path>
91 73
92 <path id="native.libs.gdbserver"> 74 <path id="native.libs.gdbserver">
93 <fileset file="${android.gdbserver}"/> 75 <fileset file="${android.gdbserver}"/>
94 </path> 76 </path>
95 77
96 <!-- Disables automatic signing. --> 78 <!-- Disables automatic signing. -->
97 <property name="build.is.signing.debug" value="false"/> 79 <property name="build.is.signing.debug" value="false"/>
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 <!-- Configurable macro, which allows to pass as parameters output directory , 289 <!-- Configurable macro, which allows to pass as parameters output directory ,
308 output dex filename and external libraries to dex (optional) --> 290 output dex filename and external libraries to dex (optional) -->
309 <macrodef name="dex-helper"> 291 <macrodef name="dex-helper">
310 <element name="external-libs" optional="yes" /> 292 <element name="external-libs" optional="yes" />
311 <attribute name="nolocals" default="false" /> 293 <attribute name="nolocals" default="false" />
312 <sequential> 294 <sequential>
313 <!-- sets the primary input for dex. If a pre-dex task sets it to 295 <!-- sets the primary input for dex. If a pre-dex task sets it to
314 something else this has no effect --> 296 something else this has no effect -->
315 <property name="out.dex.input.absolute.dir" value="${out.classes.abs olute.dir}" /> 297 <property name="out.dex.input.absolute.dir" value="${out.classes.abs olute.dir}" />
316 298
317 <!-- set the secondary dx input: the project (and library) jar files
318 If a pre-dex task sets it to something else this has no effect -->
319 <if>
320 <condition>
321 <isreference refid="out.dex.jar.input.ref" />
322 </condition>
323 <else>
324 <path id="out.dex.jar.input.ref">
325 <path refid="project.all.jars.path" />
326 </path>
327 </else>
328 </if>
329
330 <dex executable="${dx}" 299 <dex executable="${dx}"
331 output="${intermediate.dex.file}" 300 output="${intermediate.dex.file}"
332 dexedlibs="${out.dexed.absolute.dir}" 301 dexedlibs="${out.dexed.absolute.dir}"
333 nolocals="@{nolocals}" 302 nolocals="@{nolocals}"
334 forceJumbo="${dex.force.jumbo}" 303 forceJumbo="${dex.force.jumbo}"
335 verbose="${verbose}"> 304 verbose="${verbose}">
336 <path path="${out.dex.input.absolute.dir}"/> 305 <path path="${out.dex.input.absolute.dir}"/>
337 <path refid="out.dex.jar.input.ref" /> 306 <path refid="out.dex.jar.input.ref" />
338 <external-libs /> 307 <external-libs />
339 </dex> 308 </dex>
(...skipping 17 matching lines...) Expand all
357 resourcefile="${resource.package.file.name}" 326 resourcefile="${resource.package.file.name}"
358 apkfilepath="${out.packaged.file}" 327 apkfilepath="${out.packaged.file}"
359 debugpackaging="${build.is.packaging.debug}" 328 debugpackaging="${build.is.packaging.debug}"
360 debugsigning="${build.is.signing.debug}" 329 debugsigning="${build.is.signing.debug}"
361 verbose="${verbose}" 330 verbose="${verbose}"
362 hascode="${manifest.hasCode}" 331 hascode="${manifest.hasCode}"
363 previousBuildType="${build.last.is.packaging.debug}/${build. last.is.signing.debug}" 332 previousBuildType="${build.last.is.packaging.debug}/${build. last.is.signing.debug}"
364 buildType="${build.is.packaging.debug}/${build.is.signing.de bug}"> 333 buildType="${build.is.packaging.debug}/${build.is.signing.de bug}">
365 <dex path="${intermediate.dex.file}"/> 334 <dex path="${intermediate.dex.file}"/>
366 <sourcefolder path="${source.absolute.dir}"/> 335 <sourcefolder path="${source.absolute.dir}"/>
367 <jarfile refid="project.all.jars.path" />
368 <nativefolder path="${native.libs.absolute.dir}" /> 336 <nativefolder path="${native.libs.absolute.dir}" />
369 <nativefolder refid="project.library.native.folder.path" />
370 <extra-jars/> 337 <extra-jars/>
371 </apkbuilder> 338 </apkbuilder>
372 </sequential> 339 </sequential>
373 </macrodef> 340 </macrodef>
374 341
375 <!-- This is macro which zipaligns in.package and outputs it to out.package. Used by targets 342 <!-- This is macro which zipaligns in.package and outputs it to out.package. Used by targets
376 debug and release.--> 343 debug and release.-->
377 <macrodef name="zipalign-helper"> 344 <macrodef name="zipalign-helper">
378 <attribute name="in.package" /> 345 <attribute name="in.package" />
379 <attribute name="out.package" /> 346 <attribute name="out.package" />
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 386
420 <!-- ******************************************************* --> 387 <!-- ******************************************************* -->
421 <!-- ******************** Build Targets ******************** --> 388 <!-- ******************** Build Targets ******************** -->
422 <!-- ******************************************************* --> 389 <!-- ******************************************************* -->
423 390
424 <!-- Basic Ant + SDK check --> 391 <!-- Basic Ant + SDK check -->
425 <target name="-check-env"> 392 <target name="-check-env">
426 <checkenv /> 393 <checkenv />
427 </target> 394 </target>
428 395
429 <!-- target to disable building dependencies -->
430 <target name="nodeps">
431 <property name="dont.do.deps" value="true" />
432 </target>
433
434 <!-- generic setup --> 396 <!-- generic setup -->
435 <target name="-setup" depends="-check-env"> 397 <target name="-setup" depends="-check-env">
436 <echo level="info">Project Name: ${ant.project.name}</echo> 398 <echo level="info">Project Name: ${ant.project.name}</echo>
437 <gettype projectTypeOut="project.type" /> 399 <gettype projectTypeOut="project.type" />
438 400
439 <!-- sets a few boolean based on project.type 401 <!-- sets a few boolean based on project.type
440 to make the if task easier --> 402 to make the if task easier -->
441 <condition property="project.is.library" value="true" else="false"> 403 <condition property="project.is.library" value="true" else="false">
442 <equals arg1="${project.type}" arg2="library" /> 404 <equals arg1="${project.type}" arg2="library" />
443 </condition> 405 </condition>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 <if condition="${project.is.test}"> 437 <if condition="${project.is.test}">
476 <then> 438 <then>
477 <property name="tested.project.absolute.dir" location="${tested. project.dir}" /> 439 <property name="tested.project.absolute.dir" location="${tested. project.dir}" />
478 <subant failonerror="true"> 440 <subant failonerror="true">
479 <fileset dir="${tested.project.absolute.dir}" includes="buil d.xml" /> 441 <fileset dir="${tested.project.absolute.dir}" includes="buil d.xml" />
480 <target name="clean" /> 442 <target name="clean" />
481 </subant> 443 </subant>
482 </then> 444 </then>
483 </if> 445 </if>
484 446
485 <!-- get all the libraries -->
486 <if>
487 <condition><not><isset property="dont.do.deps" /></not></condition>
488 <then>
489 <getlibpath libraryFolderPathOut="project.library.folder.path" / >
490 <if>
491 <condition>
492 <isreference refid="project.library.folder.path" />
493 </condition>
494 <then>
495 <!-- clean the libraries with nodeps since we already
496 know about all the libraries even the indirect one -->
497 <subant
498 buildpathref="project.library.folder.path"
499 antfile="build.xml"
500 failonerror="true">
501 <target name="nodeps" />
502 <target name="clean" />
503 </subant>
504 </then>
505 </if>
506 </then>
507 </if>
508 </target> 447 </target>
509 448
510 <!-- Pre build setup --> 449 <!-- Pre build setup -->
511 <target name="-build-setup" depends="-setup"> 450 <target name="-build-setup" depends="-setup">
512 451
513 <!-- read the previous build mode --> 452 <!-- read the previous build mode -->
514 <property file="${out.build.prop.file}" /> 453 <property file="${out.build.prop.file}" />
515 <!-- if empty the props won't be set, meaning it's a new build. 454 <!-- if empty the props won't be set, meaning it's a new build.
516 To force a build, set the prop to empty values. --> 455 To force a build, set the prop to empty values. -->
517 <property name="build.last.target" value="" /> 456 <property name="build.last.target" value="" />
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 <echo level="info">Creating output directories if needed...</echo> 512 <echo level="info">Creating output directories if needed...</echo>
574 <mkdir dir="${resource.absolute.dir}" /> 513 <mkdir dir="${resource.absolute.dir}" />
575 <mkdir dir="${jar.libs.absolute.dir}" /> 514 <mkdir dir="${jar.libs.absolute.dir}" />
576 <mkdir dir="${out.absolute.dir}" /> 515 <mkdir dir="${out.absolute.dir}" />
577 <mkdir dir="${out.res.absolute.dir}" /> 516 <mkdir dir="${out.res.absolute.dir}" />
578 <do-only-if-manifest-hasCode> 517 <do-only-if-manifest-hasCode>
579 <mkdir dir="${gen.absolute.dir}" /> 518 <mkdir dir="${gen.absolute.dir}" />
580 <mkdir dir="${out.classes.absolute.dir}" /> 519 <mkdir dir="${out.classes.absolute.dir}" />
581 <mkdir dir="${out.dexed.absolute.dir}" /> 520 <mkdir dir="${out.dexed.absolute.dir}" />
582 </do-only-if-manifest-hasCode> 521 </do-only-if-manifest-hasCode>
583
584 <echo level="info">----------</echo>
585 <echo level="info">Resolving Dependencies for ${ant.project.name}...</ec ho>
586 <dependency
587 libraryFolderPathOut="project.library.folder.path"
588 libraryPackagesOut="project.library.packages"
589 libraryManifestFilePathOut="project.library.manifest.file.path"
590 libraryResFolderPathOut="project.library.res.folder.path"
591 libraryBinAidlFolderPathOut="project.library.bin.aidl.folder.pat h"
592 libraryRFilePathOut="project.library.bin.r.file.path"
593 libraryNativeFolderPathOut="project.library.native.folder.path"
594 jarLibraryPathOut="project.all.jars.path"
595 targetApi="${project.target.apilevel}"
596 verbose="${verbose}" />
597
598 <!-- no tested project, make an empty Path object so that javac doesn't
599 complain -->
600 <path id="tested.project.classpath" />
601 </target> 522 </target>
602 523
603 <!-- empty default pre-build target. Create a similar target in 524 <!-- empty default pre-build target. Create a similar target in
604 your build.xml and it'll be called instead of this one. --> 525 your build.xml and it'll be called instead of this one. -->
605 <target name="-pre-build"/> 526 <target name="-pre-build"/>
606 527
607 <!-- Code Generation: compile resources (aapt -> R.java), aidl --> 528 <!-- Code Generation: compile resources (aapt -> R.java), aidl -->
608 <target name="-code-gen"> 529 <target name="-code-gen">
609 <!-- always merge manifest --> 530 <!-- always merge manifest -->
610 <mergemanifest 531 <mergemanifest
611 appManifest="${manifest.abs.file}" 532 appManifest="${manifest.abs.file}"
612 outManifest="${out.manifest.abs.file}" 533 outManifest="${out.manifest.abs.file}"
613 enabled="${manifestmerger.enabled}"> 534 enabled="${manifestmerger.enabled}">
614 <library refid="project.library.manifest.file.path" />
615 </mergemanifest> 535 </mergemanifest>
616 536
617 <do-only-if-manifest-hasCode 537 <do-only-if-manifest-hasCode
618 elseText="hasCode = false. Skipping aidl/R.java"> 538 elseText="hasCode = false. Skipping aidl/R.java">
619 <echo level="info">----------</echo> 539 <echo level="info">----------</echo>
620 <echo level="info">Handling Resources...</echo> 540 <echo level="info">Handling Resources...</echo>
621 <aapt executable="${aapt}" 541 <aapt executable="${aapt}"
622 command="package" 542 command="package"
623 verbose="${verbose}" 543 verbose="${verbose}"
624 manifest="${out.manifest.abs.file}" 544 manifest="${out.manifest.abs.file}"
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/> 697 <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/>
778 <identitymapper/> 698 <identitymapper/>
779 </firstmatchmapper> 699 </firstmatchmapper>
780 </pathconvert> 700 </pathconvert>
781 701
782 <!-- Build a path object with all the jar files that must be obfuscate d. 702 <!-- Build a path object with all the jar files that must be obfuscate d.
783 This include the project compiled source code and any 3rd party j ar 703 This include the project compiled source code and any 3rd party j ar
784 files. --> 704 files. -->
785 <path id="project.all.classes.path"> 705 <path id="project.all.classes.path">
786 <pathelement location="${preobfuscate.jar.file}"/> 706 <pathelement location="${preobfuscate.jar.file}"/>
787 <path refid="project.all.jars.path"/>
788 <!-- Pass javac.custom.classpath for apks. --> 707 <!-- Pass javac.custom.classpath for apks. -->
789 <path refid="javac.custom.classpath"/> 708 <path refid="javac.custom.classpath"/>
790 </path> 709 </path>
791 <!-- Set the project jar files Path object into a single property. It' ll be 710 <!-- Set the project jar files Path object into a single property. It' ll be
792 all the jar files separated by a platform path-separator. 711 all the jar files separated by a platform path-separator.
793 Each path must be quoted if it contains spaces. 712 Each path must be quoted if it contains spaces.
794 --> 713 -->
795 <pathconvert property="project.all.classes.value" refid="project.all.c lasses.path"> 714 <pathconvert property="project.all.classes.value" refid="project.all.c lasses.path">
796 <firstmatchmapper> 715 <firstmatchmapper>
797 <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/> 716 <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/>
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 986
1068 <!-- This runs -package-release and -release-nosign first and then runs 987 <!-- This runs -package-release and -release-nosign first and then runs
1069 only if release-sign is true (set in -release-check, 988 only if release-sign is true (set in -release-check,
1070 called by -release-no-sign)--> 989 called by -release-no-sign)-->
1071 <target name="release" 990 <target name="release"
1072 depends="-set-release-mode, -release-obfuscation-check, -package , -post-package, -release-prompt-for-password, -release-nosign, -release-sign, - post-build" 991 depends="-set-release-mode, -release-obfuscation-check, -package , -post-package, -release-prompt-for-password, -release-nosign, -release-sign, - post-build"
1073 description="Builds the application in release mode."> 992 description="Builds the application in release mode.">
1074 </target> 993 </target>
1075 994
1076 </project> 995 </project>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698