Commit Graph

14298 Commits

Author SHA1 Message Date
Treehugger Robot 57048cd455 Merge "Build: Move preopt classpath to private variable" 2017-10-20 00:01:20 +00:00
Alan Leung 3c736b9315 Remove D8 make variables.
Bug: 67754178
Test: m -j32 checkbuild && USE_D8=true m -j32 checkbuild

Change-Id: I474e57365a8b2c5ff82b5774cb38e6846454f854
2017-10-19 16:24:05 -07:00
Jeff Gaston 32668a2252 Merge "Slightly easier debugging of missing inputs to copy-file-to-target"
am: 1cba05bb39

Change-Id: I57ba43f79d5fc3e9baf73e119bb9881d3ccd0f68
2017-10-19 22:56:30 +00:00
Treehugger Robot 1cba05bb39 Merge "Slightly easier debugging of missing inputs to copy-file-to-target" 2017-10-19 22:52:20 +00:00
Yabin Cui e77c32ea97 Link tsan shared library when tsan is used.
Bug: http://b/25392375
Test: build a unit test with tsan.
Change-Id: Ib2d937f2e311f6670cf341a983740f0ca464f166
2017-10-19 14:33:58 -07:00
Dan Willemsen 8cf5aa5e92 Prevent using config.mk from make, clean up unused code
Print a large warning and stop unless we're using ckati. Then remove a
bunch of code that soong_ui doesn't use.

Test: command make -f build/core/config.mk
Test: . build/envsetup.sh; lunch aosp_arm-eng; m nothing
Test: cs/CALLED_FROM_SETUP
Change-Id: Ib823d5ef8955fb68dbc9a035cfa8d5ac4903534a
2017-10-19 20:26:23 +00:00
Tom Cherry 8b182afa9b Merge "Don't truncate ${USER} when generating ro.build.fingerprint"
am: 8543feae1d

Change-Id: Id5afb5ee4a11034ab8ae03f1d386c7f7c68c5bb0
2017-10-18 23:24:19 +00:00
Tom Cherry 8543feae1d Merge "Don't truncate ${USER} when generating ro.build.fingerprint" 2017-10-18 23:15:38 +00:00
Tom Cherry a4af66e8cb Don't truncate ${USER} when generating ro.build.fingerprint
We have removed the 92 character limit on ro.build.fingerprint, so
there is no longer a reason to truncate ${USER} when generating
fingerprints.

Bug: 34954705
Test: boot bullhead and observe non-truncated username
Change-Id: If79bf1d5372f709c9c1725f860bc61b99e830751
2017-10-18 14:17:47 -07:00
Mathieu Chartier d5e2cc0081 Merge "Add product property for preopting extracted APKs"
am: 4856596dc6

Change-Id: I60ab3d2cae7fbdcbd70cc90a8adc46af260b3e9b
2017-10-18 18:09:03 +00:00
TreeHugger Robot 3bb60f4c6e Merge "master is now P" into stage-aosp-master 2017-10-18 02:03:43 +00:00
Mathieu Chartier 55eabd5511 Add product property for preopting extracted APKs
The property is PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK. If specified,
this preopts the APK with the default compile filter (quicken).

This will be used to quicken preopt of gmscore dynamite modules when
preopting is disabled. This fixes a possible RAM regression caused
by running out of the APK.

Bug: 65601274
Test: make and flash

(cherry picked from commit 0fbb836cf6)

Merged-In: Ibf0fa73ee7fafd9735e587baf19c4950a7da817a
Change-Id: Ibf0fa73ee7fafd9735e587baf19c4950a7da817a
2017-10-17 15:57:45 -07:00
Colin Cross 7c381d8015 Merge "Use system modules generated by soong when using javac -target 1.9"
am: 58cd98dc47

Change-Id: I1525b7088afee77baee014fd346cf19cf6a9641e
2017-10-17 18:43:21 +00:00
Colin Cross 58cd98dc47 Merge "Use system modules generated by soong when using javac -target 1.9" 2017-10-17 18:37:35 +00:00
Ian Pedowitz 43a4731d8e master is now P
Fixes: 64141010
Test: source build/envsetup.sh && lunch marlin-userdebug
============================================
PLATFORM_VERSION_CODENAME=P
PLATFORM_VERSION=P
TARGET_PRODUCT=marlin
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_PLATFORM_VERSION=PPR1
TARGET_BUILD_APPS=
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=kryo
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=kryo
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-79-generic-x86_64-Ubuntu-14.04.5-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=MASTER
OUT_DIR=out
AUX_OS_VARIANT_LIST=
============================================

Change-Id: I2d9019af8c4e24e34c743be85d4e0ff224de9d17
Merged-In: I2d9019af8c4e24e34c743be85d4e0ff224de9d17
Merged-In: Ida774a3bc6fa7884e328eb70abb6b2cca7c32028
(cherry picked from commit b56fcf400f)
2017-10-17 18:00:23 +00:00
Tao Bao 6730f9017e Fix an issue in assert-max-image-size.
When building the recovery image on marlin (m bootimage):
----- Making recovery image ------
Copying baseline ramdisk...
Modifying ramdisk contents...
/bin/bash: line 0: [: 0x02000000: integer expression expected
----- Made recovery image: out/target/product/marlin/boot.img --------

Because if -gt doesn't like hexadecimal numbers. Fix the issue by doing
a dummy arithmetic to get integer $$maxsize.

Test: `m bootimage` with aosp_marlin-userdebug. Also change the
      BOARD_BOOTIMAGE_PARTITION_SIZE closer to the actual size to
      trigger the different size check paths.
Change-Id: I75c7727664d7255b9c18f57ae38076ff90b8a957
2017-10-17 10:08:56 -07:00
Yoshisato Yanagisawa 5de0a22292 Merge "Make SOONG_JAVAC_WRAPPER use JAVAC_WRAPPER to call javac."
am: 51e7a0cca4

Change-Id: I2c311aa5442b26c046173be66ade18a73913673d
2017-10-17 05:15:13 +00:00
Treehugger Robot 51e7a0cca4 Merge "Make SOONG_JAVAC_WRAPPER use JAVAC_WRAPPER to call javac." 2017-10-17 05:08:10 +00:00
Colin Cross f960257c14 Use system modules generated by soong when using javac -target 1.9
Soong has support for building system modules.  Use the directories
produced by Soong with --system to replace -bootclasspath arguments
when using javac -target 1.9.

Since soong can't generate current SDK stubs yet, and no existing
SDK stubs need -target, only use -target 1.9 for modules that are
not compiling against the SDK.  That means in practice the only
system modules that will be used for now is the default one,
core-system-modules.

Bug: 63986449
Test: m -j EXPERIMENTAL_USE_OPENJDK9=true makes some progress
Change-Id: I350ef50aedf36fdd72458c23d4fe8a2edf1a9a02
2017-10-16 17:55:24 -07:00
Dan Willemsen 9ecc0da241 Merge "Switch to $(file) instead of a rule to create soong.variables"
am: a0d0ea3b5c

Change-Id: Id474095fd94d3aef369cbcfdd810c6a1eb309439
2017-10-15 02:51:59 +00:00
Dan Albert 4adab14288 Merge "Re-apply ndk-docs rule."
am: cf2da22a2a

Change-Id: I48bed194348d6cf2c76bdc9db787c58fcdd6cc6e
2017-10-15 02:50:45 +00:00
Bowgo Tsai 86c4f8ed54 Merge "Adding Android verified boot 1.0 metadata into ENG builds"
am: 5f958ccad5

Change-Id: I54405288a18db3940b0721d5638127e66b7cac3e
2017-10-15 02:48:17 +00:00
Mathieu Chartier dc640ca34a Merge "Re-add missing log filter"
am: 9e89b22ae7

Change-Id: I1235cf6bf0d947217af7f6da6dc8192e76368860
2017-10-15 02:47:23 +00:00
Dan Willemsen a0d0ea3b5c Merge "Switch to $(file) instead of a rule to create soong.variables" 2017-10-13 23:22:01 +00:00
Stephen Hines b6415a9e33 Switch to clang-4393122.
Bug: http://b/62580008
Test: https://goto.google.com/clang-4393122-testing
Change-Id: I287bd58cb522ac78285da4778818133022b2abc8
2017-10-13 14:21:40 -07:00
Treehugger Robot cf2da22a2a Merge "Re-apply ndk-docs rule." 2017-10-13 21:04:26 +00:00
Dan Albert 303e603fd2 Re-apply ndk-docs rule.
This time wrapped with a check for the docs directory for unbundled
branches.

Test: make checkbuild
Bug: None
Change-Id: If80f0a03850d6cad3eab6d759af02ff2a7870974
2017-10-13 11:56:17 -07:00
Dan Willemsen 8e7153bf98 Merge "Use CALLED_FROM_SETUP instead of KATI"
am: bd4239a1e1

Change-Id: I2495d57b7038bca63aa148b3a3f02c3ae9d88a87
2017-10-13 07:32:03 +00:00
Dan Willemsen 7ad03056dd Switch to $(file) instead of a rule to create soong.variables
Kati seems to have some problems updating this file, and the echo
syntax gets a bit messy. So define some macros and write out the file at
eval time using $(file).

Test: multiproduct_kati -only-config, check soong.variables (on AOSP and internal)
Change-Id: I74279b962918ca1f70fb1d0d25cbb30bd5675041
2017-10-12 21:10:39 -07:00
Treehugger Robot 5f958ccad5 Merge "Adding Android verified boot 1.0 metadata into ENG builds" 2017-10-13 03:39:21 +00:00
Mathieu Chartier 9e89b22ae7 Merge "Re-add missing log filter" 2017-10-13 02:25:08 +00:00
Treehugger Robot bd4239a1e1 Merge "Use CALLED_FROM_SETUP instead of KATI" 2017-10-13 01:46:11 +00:00
Nan Zhang 72165e0c29 Merge "Support java compilation sharding for target side."
am: 60e1f8ee27

Change-Id: Ia81f7f7c3f98fee3896714129fe053741e457824
2017-10-13 00:51:11 +00:00
Treehugger Robot 60e1f8ee27 Merge "Support java compilation sharding for target side." 2017-10-13 00:40:37 +00:00
Mathieu Chartier 6c1aa4584a Merge "Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY"
am: dcb1f24e9b

Change-Id: I4cc653c7d4218d2e4b983f4ec1b6f8df77b2d1f4
2017-10-12 22:37:24 +00:00
Dan Willemsen 20f99a60ea Use CALLED_FROM_SETUP instead of KATI
So that we can use kati instead of make for the initial config loading.

Test: m clean; m nothing
Test: USE_GOMA=true m nothing
Test: m PRODUCT-aosp_x86-sdk
Test: m APP-Calculator
Test: multiproduct_kati -only-config  (on AOSP and internal master)
Change-Id: I5d3af847607fa48868c2045401977eca37dc6ae1
2017-10-12 15:35:42 -07:00
Mathieu Chartier f834eccd52 Allow system server jars for WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY
Renamed WITH_DEXPREOPT_BOOT_IMG_ONLY to
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY and changed the
behavior accordingly.

Preopt system server jars since selinux prevents system server from
loading anything from /data. If we don't do this they will need to
be extracted which is not favorable for RAM usage or performance.

Test: make and flash and look at system server maps
Bug: 65122284
Bug: 62356545

(cherry picked from commit 418258cee9)

Merged-In: I2e70c80a86327b455450b95144f21020e7bf0c6f
Change-Id: I316e79c7c6d45e2ccbfff4065137cc3ef9d2738e
2017-10-12 20:40:41 +00:00
Nan Zhang ad818dcbea Support java compilation sharding for target side.
Add "LOCAL_JAVAC_SHARD_SIZE" to represent the number of java
source path entries in each shard.

Sharding is not allowed when "LOCAL_JAVAC_SHARD_SIZE" and
"LOCAL_JAR_PROCESSORS" are both enabled.

Limitation:
1. 0 <= LOCAL_JAVAC_SHARD_SIZE <= 8192
1. 0 < NUM(java_sources) <= 8192
2. 0 <= NUM(shards) <= 100

Performance Compare:
<Unsharded Build------------------------------------------------>
1. Build from clean state
rm -r -f out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
&& time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

real	1m2.720s user	5m26.604s sys	0m39.552s

2. Incremental build
m out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar &&
touch frameworks/base/core/java/android/net/http/HttpResponseCache.java && time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

real	0m37.586s user	5m47.804s sys	0m50.388s

<Sharded Build-------------------------------------------------->
1. Build from clean state
rm -r -f out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
&& time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

Javac Shard Size: 50----real	1m10.163s user	25m59.008s sys	1m58.460s
Javac Shard Size: 100---real	1m2.115s user	21m3.600s sys	1m15.964s
Javac Shard Size: 150---real	0m59.520s user	18m10.544s sys	1m12.628s
Javac Shard Size: 200---real	0m56.894s user	15m39.244s sys	1m11.608s
Javac Shard Size: 250---real	0m55.991s user	14m38.716s sys	1m2.292s
Javac Shard Size: 300---real	0m55.114s user	13m6.568s sys	1m8.200s
Javac Shard Size: 350---real	0m53.144s user	12m7.740s sys	1m3.836s
Javac Shard Size: 400---real	0m54.929s user	12m9.324s sys	1m4.340s
Javac Shard Size: 450---real	1m30.194s user	25m31.468s sys	1m52.416s
Javac Shard Size: 500---real	0m53.976s user	10m35.500s sys	0m55.160s

2. Incremental build
m out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar &&
touch frameworks/base/core/java/android/net/http/HttpResponseCache.java && time m
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar

Javac Shard Size: 50-----real	0m16.322s user	1m8.648s sys	0m31.700s
Javac Shard Size: 100----real	0m16.163s user	1m22.932s sys	0m29.440s
Javac Shard Size: 150----real	0m16.611s user	1m37.828s sys	0m21.168s
Javac Shard Size: 200----real	0m16.936s user	1m49.248s sys	0m28.636s
Javac Shard Size: 250----real	0m17.509s user	1m54.944s sys	0m32.768s
Javac Shard Size: 300----real	0m18.868s user	1m54.088s sys	0m28.824s
Javac Shard Size: 350----real	0m17.629s user	1m54.108s sys	0m31.056s
Javac Shard Size: 400----real	0m18.658s user	2m7.712s sys	0m30.636s
Javac Shard Size: 450----real	0m18.874s user	2m8.808s sys	0m33.540s
Javac Shard Size: 500----real	0m19.432s user	2m24.400s sys	0m30.368s

time m nothing:
real 0m5.799s user 0m7.236s sys 0m3.068s

Test: m clean && m -j checkbuild
Bug: b/67424047
Change-Id: Id0766d2b7de7c4546d29bbc7f8a0dd0e4b9ad45b
2017-10-12 13:23:06 -07:00
Yoshisato Yanagisawa 42b808b18e Make SOONG_JAVAC_WRAPPER use JAVAC_WRAPPER to call javac.
JAVAC_WRAPPER seems not be used when SOONG_JAVAC_WRAPPER is used.
Since JAVAC_WRAPPER just wraps actual javac call, the result must
be the same.

Bug: 67723445
Change-Id: I944f9534587c00ffd1bc79806c534432467ba4a5
2017-10-12 16:04:20 +09:00
Bowgo Tsai 6ceeb1a8bf Adding Android verified boot 1.0 metadata into ENG builds
Adding verified boot metadata with a "disable magic". The resulting
metadata at the end of each image (e.g., system.img, vendor.img) will
be the same as triggering an "adb disable-verity" on an USERDEBUG image.

This can help simplify the code on fs_mgr, which won't have to check if
current image is an ENG build or not.

Bug: 63056044
Test: boot sailfish eng/userdebug builds
Change-Id: I95d23ac7b76c04d6d4483c9c4dc1de16bf0d9c3a
2017-10-12 10:08:44 +08:00
Mathieu Chartier a996337658 Re-add missing log filter
Was accidentally deleted in a61acf62c9

Test: make
Change-Id: Ib25b5c5b54bfbfa1ec80dfc4a0ee5134c8be2631
2017-10-11 17:10:25 -07:00
Courtney Goeltzenleuchter d0047d922e Move include in prep of Android.bp support
Test: make
Merged-In: I1d1a240b2557db3d9d0a0b2227f84eff09f8d4ca
Change-Id: I1d1a240b2557db3d9d0a0b2227f84eff09f8d4ca
(cherry picked from commit dd35495a77)
2017-10-11 03:29:53 +00:00
Jiyong Park 327a511925 Merge "Prevent vendor libs from depending on private VNDK libraries"
am: 492f67c0ac

Change-Id: If73d1034a1c1c5668f2b3367e8b498e758494bf8
2017-10-11 01:51:24 +00:00
Treehugger Robot 492f67c0ac Merge "Prevent vendor libs from depending on private VNDK libraries" 2017-10-11 01:45:36 +00:00
Colin Cross a0dd1e08f2 Merge "Add hostdex support for soong"
am: 9f588bcd15

Change-Id: I78acacc81e1d159c1f4107aa936d68adf4ce11f9
2017-10-10 22:03:28 +00:00
Colin Cross 9f588bcd15 Merge "Add hostdex support for soong" 2017-10-10 21:52:17 +00:00
Jiyong Park a3fb1588f4 Prevent vendor libs from depending on private VNDK libraries
For module installed to /vendor partition, direct linking to the libs
marked as `vendor_available: false` is not allowed. The

Bug: 64730695
Test: Add vendor_available: false to libft2 and
libcompiler_rt. Add the two libs into LOCAL_SHARED_LIBRARIES of a vendor
lib (e.g. libdrm). Build fails with the link_type check error message.

Change-Id: Iaf23574ceddb0c087111e1d95997e9ddd60cdf87
2017-10-10 19:38:06 +09:00
Dan Willemsen 589471eb35 Merge changes Id1d8ffb8,I20a6396d
am: f398cc78fe

Change-Id: I1d646eb40f1a15d6ea5b12af92b36f26526e4fe5
2017-10-10 05:41:57 +00:00
Dan Willemsen 2d081b35d4 Fix broken foreach loop
This wasn't initializing the STATS.MODULE_TYPE.* variables, leading to
106kB of stack usage in ckati for sdk_x86_64-eng. With this fixed, the
next highest stack usage is 35kB.

Bug: 36182021
Test: Run $(flavor) over all the variables
Test: Check stack usage with custom ckati patches
Test: build-sdk_x86_64.ninja is identical before/after this change
Change-Id: Id1d8ffb8415ad6613d0093d31be5472d42d300fd
2017-10-10 03:36:42 +00:00
Dan Willemsen 44fd0f6b8e Reduce stack usage in ckati
When limiting ckati to 768kB of stack, it would crash with a segfault
when processing this recursive expanded variable. So always use := to
turn this into a simple variable.

I measured this using 772kB of stack in ckati on sdk_x86_64-eng. With
this change, the next highest stack user is 106kB.

Bug: 36182021
Test: ulimit -s 768; lunch sdk_x86_64-eng; m nothing
Test: build-sdk_x86_64.ninja is identical before/after this change
Change-Id: I20a6396db173decf178107e3aac6cf089e541e36
2017-10-10 03:36:21 +00:00
Colin Cross abfa40776f Add hostdex support for soong
When LOCAL_IS_HOST_MODULE is set LOCAL_BUILT_MODULE is the same
as common_javalib.jar, and dexpreopting shouldn't be enabled.

Bug: 67600882
Test: m -j checkbuild
Change-Id: I7397fa430ebc18d5cb6ba71b06e343180f09ae08
2017-10-09 17:37:49 -07:00
Alan Leung 81e4d14cc7 Merge "Revert "Enable D8 by default.""
am: bc29d906bc

Change-Id: Ic839c5b69dca0866049ae4b4f48f41a64fa06697
2017-10-09 21:35:16 +00:00
Alan Leung ba985e6efe Revert "Enable D8 by default."
Breaks EmulatorSmokeTests

Bug: 67569208

This reverts commit 4c1a09823c.

Change-Id: I85b28b9b59226f4ce6fda0ea2445933eade07d89
2017-10-09 21:24:52 +00:00
Alan Leung d46624b4d8 Merge "Enable D8 by default."
am: a867dfa71c

Change-Id: I0e68a345fb18cb52033480678eca6979bcb94f5e
2017-10-09 20:18:15 +00:00
Alan Leung 4c1a09823c Enable D8 by default.
Bug: 67569208
Test: m -j32

Change-Id: Ie80ce7ca0e6955ef6c1fbae1fa5b169374068cf4
2017-10-09 07:41:35 +00:00
Colin Cross 6fff4ee8de Merge changes I06b8efa8,Id2fa2d18
am: 4d44c2dc12

Change-Id: Ib605f3b7e1df80bb85f6894f39e6caf54aaaa514
2017-10-06 23:28:42 +00:00
Colin Cross f229de4a4b Enable dexpreopt and dex stripping in soong jars
Dexpreopt jars from soong, which also strips classes.dex from
javalib.jar.

Test: m -j checkbuild
Test: unzip -l $OUT/system/framework/core-oj.jar
Change-Id: I06b8efa8993f6c44f0ad8c988e57a3cba08e17ad
2017-10-06 14:36:38 -07:00
Colin Cross ea1629e788 Refactor removing classes.dex for dexpreopt
Combining $(call dexpreopt-remove-classes.dex) into a
$(call copy-one-file) rule is hacky and error prone.  Make a helper
dexpreopt-copy-jar function that takes LOCAL_DEX_PREOPT and copies
the jar, removing the dex files if necessary.

Test: only description message changes to out/build-${TARGET_PRODUCT}.ninja
Change-Id: Id2fa2d18571ca01bc81302c912b8de25f3dde7a1
2017-10-06 14:26:25 -07:00
Tobias Thierer 719728f67d Merge "Cap LOCAL_JAVA_LANGUAGE_VERSION <= 1.8 for API versions <= 26."
am: c6465f5d17

Change-Id: I52fec751f0dcd729f1903c4e70a6bbef8873488b
2017-10-06 19:58:34 +00:00
Jiyong Park bc8a222efe Merge "Don't reserve size for bad blocks when checking image size"
am: dd68a6cb74

Change-Id: Ibea8f1f19b6ec4a3cf1969dde726a90265439128
2017-10-06 19:55:45 +00:00
Tobias Thierer c6465f5d17 Merge "Cap LOCAL_JAVA_LANGUAGE_VERSION <= 1.8 for API versions <= 26." 2017-10-06 19:42:57 +00:00
Treehugger Robot dd68a6cb74 Merge "Don't reserve size for bad blocks when checking image size" 2017-10-06 19:40:29 +00:00
Tobias Thierer 745c6a55d3 Cap LOCAL_JAVA_LANGUAGE_VERSION <= 1.8 for API versions <= 26.
The default LOCAL_JAVA_LANGUAGE_VERSION is normally 1.8, or 1.9
when EXPERIMENTAL_USE_OPENJDK9 is explicitly set to the
nondefault value of "true".

Since old Android API levels do not support later versions,
LOCAL_JAVA_LANGUAGE_VERSIONs is already capped at 1.7 for
APIs <= 23.

This CL further caps it at 1.8 for all released APIs (currently
<= 26) even when EXPERIMENTAL_USE_OPENJDK9=true.
This may need to be updated in future.

This CL only affects builds where EXPERIMENTAL_USE_OPENJDK9 is
set; it does not affect the default build.

Bug: 67454477
Test: Treehugger

Change-Id: I54ca72bdb09aeb4184d5bb3c51d881dcfc943839
2017-10-06 15:57:33 +01:00
Nicolas Geoffray a95fbd1ed5 Add a product variable for priv-apps dependencies.
Those dependencies are jars/apks on which we want to
uncompress their dexs.

bug: 30972906
bug: 63920015

Test: sailfish build

Change-Id: Ic96ffe9dbe39abc1c28e7de134892d689207c9ca
2017-10-06 11:14:08 +01:00
Colin Cross ed36337b02 Merge "Use prebuilts/jdk/jdk9 if EXPERIMENTAL_USE_OPENJDK9 is set"
am: 0c0e2b0779

Change-Id: I58ebe843ce27d8de580179a4a296662f31486d31
2017-10-06 04:41:28 +00:00
Treehugger Robot 0c0e2b0779 Merge "Use prebuilts/jdk/jdk9 if EXPERIMENTAL_USE_OPENJDK9 is set" 2017-10-06 04:34:52 +00:00
Dan Willemsen 62263d99ef Merge "Always pass --auto-add-overlay to aapt2 for aar prebuilts"
am: 4ec7972785

Change-Id: I9d0dd30884e50299ef0df5b3761ed906ad3b6598
2017-10-06 00:10:22 +00:00
Colin Cross d7b99409ce Use prebuilts/jdk/jdk9 if EXPERIMENTAL_USE_OPENJDK9 is set
Bug: 62123342
Test: m -j EXPRIMENTAL_USE_OPENJDK9=1.8 checkbuild
Change-Id: I8be331c422412d6416d92184a2eba093f27fc0fb
2017-10-05 16:47:54 -07:00
Dan Willemsen e3c99016f9 Always pass --auto-add-overlay to aapt2 for aar prebuilts
Bug: 64723465
Test: Build all aar prebuilts in our internal tree
Change-Id: I82ef8d59d4f710b755226b2801dc65c2ccffe40c
2017-10-05 14:55:11 -07:00
Alan Leung 5f1417897c Merge "Add USE_D8_BY_DEFAULT in makefile."
am: 03e8fb10d1

Change-Id: I68ba9afe7406fe84ddb9b5d18e583b89d0b8ccd8
2017-10-05 09:20:21 +00:00
Jiyong Park 03eb06150b Don't reserve size for bad blocks when checking image size
When checking *.img size with the partition size, the build system
reserves additional bits for spare bits and spare bad blocks.

However, for emmc and ufs, the space bits and blocks are entirely
managed by the underlying controller and thus not visible from outside
of the controller. In fact the check routine was made for legacy MTD
storages where raw flash blocks are directly exposed.

This makes the size checking a little bit conservative in modern devices.
Builds were failed even though the *.img can actually fit into the
partition. To handle this problem, the additional size is no longer
reserved when checking *.img size with the partition size.

This change also removes following build flags that are meaningful
only for devices having MTD storages:
BOARD_NAND_PAGE_SIZE
BOARD_NAND_SPARE_SIZE
Further use of them breaks the build

Bug: 35790399
Bug: 66399382
Test: build

Merged-In: I954bf261441b53844e75d05788866f1692a2ad43
Change-Id: I954bf261441b53844e75d05788866f1692a2ad43
2017-10-04 21:25:08 +09:00
Colin Cross 9f92348ffa Merge "Revert "Generate the NDK docs with the ndk-docs target.""
am: b33250278b

Change-Id: I96b3d752fd0ad9b2deb438fbdd677a17619e0540
2017-10-04 00:21:57 +00:00
Alan Leung 013a37b760 Add USE_D8_BY_DEFAULT in makefile.
Bug: 65854021
Test: m USE_D8=true  showcommands out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/with-local/classes.dex
Change-Id: Iec1a05bf6f03cf856faf2e013fa169e1a0beaf7a
2017-10-03 17:15:01 -07:00
Colin Cross b33250278b Merge "Revert "Generate the NDK docs with the ndk-docs target."" 2017-10-04 00:13:54 +00:00
Colin Cross c294f55489 Revert "Generate the NDK docs with the ndk-docs target."
This reverts commit d51b6d0d75.

Reason for revert: Broke all unbundled builds

Change-Id: Id6722a076ee91ca150b1a53935632579c6f6f6dd
2017-10-04 00:13:00 +00:00
Dan Albert e0af1859b8 Merge "Generate the NDK docs with the ndk-docs target."
am: 0f47dd4c13

Change-Id: I8631da79f3ba45b46be7d0d50fdb48a0b623d141
2017-10-03 22:39:00 +00:00
Treehugger Robot 0f47dd4c13 Merge "Generate the NDK docs with the ndk-docs target." 2017-10-03 22:11:17 +00:00
Dan Albert d51b6d0d75 Generate the NDK docs with the ndk-docs target.
Test: make ndk-docs
Bug: None
Change-Id: I846f18c2d466d18603bb3ba59aaed7a9c938b1e3
2017-10-03 13:08:25 -07:00
Treehugger Robot b039cf792f Merge "Delete jack support" 2017-10-03 01:17:25 +00:00
Dan Willemsen cd82b18c8d Merge "Fix incremental aapt builds"
am: 26cf972f50

Change-Id: I7279d4662553a6f31ff2e4ff7d5a482972a2acfb
2017-10-02 23:28:43 +00:00
Dan Willemsen f439c334da Fix incremental aapt builds
If a resource was moved / removed without any other timestamp updates,
ninja would not re-run aapt. To fix this, add a list of resource files
into the same command as aapt (echo ... >/dev/null). That way if the
list changes, ninja will recognize the command line changing and rerun
aapt.

Bug: 67315436
Test: mmma cts/tests/autofillservice
Test: mv cts/tests/autofillservice/res/layout/welcome_activity.xml \
      cts/tests/autofillservice/res/layout/welcome_activity_test.xml
Test: mmma cts/tests/autofillservice

Change-Id: Ia93ac4ff48910fed74a1f1539ce4e1f5a9db023f
2017-10-02 14:22:02 -07:00
Dan Willemsen cd4d0d4cc3 Merge changes I7b2fc184,I71f6fcaf
am: ea655a138f

Change-Id: Icd7c2390a0a35777bda0a93af534d6a4254fff9b
2017-10-02 20:46:14 +00:00
Colin Cross e673deb280 Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 11:15:19 -07:00
Colin Cross a6bc3a8a4c Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 18:06:56 +00:00
Dan Willemsen 4d99527dcd Move generated aidl/logtags java classes to a subfolder
So that they can't be generated into src/, which would be added to the
source list automatically.

Bug: 36698184
Test: m telephony-common without this change, pass
Test: m telephony-common without the cleanspec, fail with dup class
Test: m telephony-common with the cleanspec, pass
Change-Id: I7b2fc1847d52ff4a9ba8c69e76123fe152629ef8
2017-09-29 20:36:50 -07:00
Dan Willemsen ba9b0fbc05 Fix multiple output file generation for AAPT2
Make R.stamp actually part of the same rule that creates R.java.
Otherwise if the generated sources directory is removed, we don't
regenerate R.java / Manifest.java.

Also move the package-export.apk and proguard options file into the same
rule.

Test: m telephony-common; rm out/target/common/obj/*/*_intermediates/src; m telephony-common
Change-Id: I71f6fcaf20593ca23271d52d15537aaa9ef4cc77
2017-09-29 20:35:32 -07:00
Colin Cross bf7020608f Merge "Respect LOCAL_MIN_SDK_VERSION for dx"
am: a426e0e974

Change-Id: I2a4d370f7788365d5f87dc58490e4979363b6a5e
2017-09-29 20:17:59 +00:00
Colin Cross 9deb331f20 Respect LOCAL_MIN_SDK_VERSION for dx
Follow Jack's behavior for now and pass LOCAL_MIN_SDK_VERSION to
dx.  Don't pass it to desugar for now, desugar with low
--min_sdk_version numbers enables features we haven't verified
yet, and existing apps won't be using the new language features
that require extra desugaring.

Test: examine classes.dex from an app with LOCAL_MIN_SDK_VERSION
Change-Id: Ic7d679b1b11fba98a33418a4f79d4762a91f1f9c
2017-09-28 21:40:35 -07:00
Colin Cross 56294539dc Merge "Disable jack completely"
am: 480ee2e58c

Change-Id: I72f0d856228dc5b68e5f581802d5a64f9c814255
2017-09-28 00:40:05 +00:00
Treehugger Robot 480ee2e58c Merge "Disable jack completely" 2017-09-28 00:34:50 +00:00
Colin Cross 6684528a6d Disable jack completely
Always set ANDROID_COMPILE_WITH_JACK=false.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I98dfdca27b4338048d50e016a79fbf4e3d86a020
2017-09-27 13:17:59 -07:00
Dan Willemsen c8e3f1e0d8 Merge "Add -lm to the default libs for Linux & Darwin"
am: 5118763940

Change-Id: I8685d42c742db41d186176346254833249cd0d59
2017-09-27 07:13:58 +00:00
Treehugger Robot 5118763940 Merge "Add -lm to the default libs for Linux & Darwin" 2017-09-27 07:08:57 +00:00
Dan Willemsen a8fd8de638 Merge "Check available host libraries"
am: b643f2caec

Change-Id: I1edbd953ad6114d4276ecb676e85d73d7657d8ac
2017-09-27 03:57:43 +00:00
Treehugger Robot b643f2caec Merge "Check available host libraries" 2017-09-27 03:50:45 +00:00
Colin Cross a938462068 Merge "Switch from jack to javac for unbundled builds"
am: 355de0a00d

Change-Id: Ib281dd853420430e4e06fb0144b727e9a029be86
2017-09-27 03:33:31 +00:00
Colin Cross 355de0a00d Merge "Switch from jack to javac for unbundled builds" 2017-09-27 03:26:13 +00:00
Dan Willemsen a3a06feeed Add -lm to the default libs for Linux & Darwin
libm is a default library for device builds, so default it for host
builds as well.

Also removes duplicate additions of -ldl, -lpthread, -lm and -lrt.

Test: m host
Change-Id: I6a07e12053090eb6997b79d4091c28ac9a9022de
2017-09-26 20:26:11 -07:00
Colin Cross 2c717745b2 Merge changes I06179fca,Ie48746c8,Ia47ebc95
am: b182ea7bcb

Change-Id: Iab7d8000f1f7bb1b8d5b63c4a4a1720b35558725
2017-09-27 02:43:56 +00:00
Treehugger Robot b182ea7bcb Merge changes I06179fca,Ie48746c8,Ia47ebc95
* changes:
  Disable turbine for unbundled builds
  Allow disabling turbine
  Simplify the *-lib-* functions
2017-09-27 02:36:24 +00:00
Colin Cross 5601842176 Disable turbine for unbundled builds
We don't yet have a turbine prebuilt, so disable turbine for
unbundled builds for now.

Test: none
Change-Id: I06179fca1764a86e387c8bd154ae052e2669d15b
2017-09-26 17:39:01 -07:00
Colin Cross 7dc9043546 Allow disabling turbine
m -j TURBINE_ENABLED=false will build without turbine.  This is
primarily useful for A/B comparisions of turbine builds, but will
also be used to temporarily disable turbine for unbundled builds
until we have turbine prebuilts.

Bug: 64308460
Test: m -j TURBINE_ENABLED=false java
Test: m -j java
Change-Id: Ie48746c8bfc60c361be9634cb1805ca1c09aa1fe
2017-09-26 16:23:00 -07:00
Colin Cross 9b2e4c6950 Simplify the *-lib-* functions
Simplify the java-lib-* type functions, three layers of abstraction
is a bit much for a single line function, and isn't reducing enough
duplication to be worth the complexity.

Add app-lib-* functions and use them.

Test: m -j checkbuild
Change-Id: Ia47ebc95e4af2073396233416f14fdee7d856844
2017-09-26 16:23:00 -07:00
Dan Willemsen 13c0785b09 Merge "Only define proguard dictionary as output if obfuscating"
am: 96a782f1ea

Change-Id: I1928c25cda47679030c06d24bc63d8d7f5024329
2017-09-26 21:52:10 +00:00
Treehugger Robot 96a782f1ea Merge "Only define proguard dictionary as output if obfuscating" 2017-09-26 21:45:28 +00:00
Dan Willemsen bdd6a756d1 Only define proguard dictionary as output if obfuscating
If we're not obfuscating, proguard doesn't generate the mapping file,
and ninja will consider the edge dirty, since one of the output files
does not exist.

Also disable it for jack, since jack writes to a different file.

Bug: 66929996
Test: m cts; m cts
Test: m ahat-test with a clean build
Change-Id: Iff6707c44cbd86cd9328bbad8322398bc9d960fd
2017-09-26 13:01:49 -07:00
Colin Cross e69ccc7fb6 Merge changes I0a1aa003,I000c3c22
am: a4a1f2089b

Change-Id: I84d3a5fb255a3b6720f1076429e351fe43510ffe
2017-09-26 18:48:46 +00:00
Treehugger Robot a4a1f2089b Merge changes I0a1aa003,I000c3c22
* changes:
  Use dx or d8 from prebuilts/build-tools
  Desugar lambdas in javac unbundled builds
2017-09-26 18:29:22 +00:00
Colin Cross b7665ed25c Merge "Fix unbundled jack builds"
am: fcdbbd0dbf

Change-Id: I88eca5617801e22c4056deef7b3c40f4c1191f53
2017-09-26 09:02:44 +00:00
Treehugger Robot fcdbbd0dbf Merge "Fix unbundled jack builds" 2017-09-26 08:58:21 +00:00
Bowgo Tsai 4cd430cb3e Merge "Do not remove init.recovery.*.rc in recovery root"
am: f184554771

Change-Id: I73f9681e2af81e2873cf732e2f47d8d547a87e87
2017-09-26 07:32:24 +00:00
Treehugger Robot f184554771 Merge "Do not remove init.recovery.*.rc in recovery root" 2017-09-26 07:26:50 +00:00
Dan Willemsen 4dbb354514 Check available host libraries
Soong has a list of allowed host libraries. Check that list for make
modules as well.

Test: build/soong/build_test.bash (Linux&Darwin, aosp&internal)
Test: Add bad library in LOCAL_LDLIBS, ensure it errors
Change-Id: Icc48533487576998b049dc6c704c410172a91521
2017-09-26 00:14:01 -07:00
Colin Cross 0a68e5e66f Fix unbundled jack builds
Recent change Icbc8987468f237aa351708b33c3abe5ea3d1816e was
unconditionally adding core-oj and core-libart as the
bootclasspath for all jack compiles, which is incorrect and
was breaking unbundled builds that don't have sources for
core-oj and core-libart.  Only add them when LOCAL_SDK_VERSION
is not set.

Test: unbundled build
Change-Id: I6bab7e36e8178384f13cf9df8183a53fcb4b23f8
2017-09-25 23:47:21 -07:00
Colin Cross df0c2fd298 Merge changes from topic "bootclasspath_default_libs"
am: e58881ac38

Change-Id: I4af17bc7c0668478cc9027029a05711fa2e2c945
2017-09-26 01:18:41 +00:00
Colin Cross fa4d9fbfdd Add dependencies on bootclasspath libraries
am: 1d1e5ef61b

Change-Id: Ied184dcd38338e6a7941a36dcc1fb4dce6f5f286
2017-09-26 01:18:30 +00:00
Colin Cross e0f8317395 Reindent bootclasspath code
am: f6bc1a1ac0

Change-Id: I629bc0508e7d60248d4af9aef15352692e04c2cf
2017-09-26 01:18:20 +00:00
Colin Cross 210e530342 Switch from jack to javac for unbundled builds
Default to ANDROID_COMPILE_WITH_JACK=false when TARGET_BUILD_APPS
is set.

Test: m -j TARGET_BUILD_APPS=Gallery2
Change-Id: Ibd2bdac6c7e2c4e2c6107fd35bd049fc8cb8dafe
2017-09-25 16:15:11 -07:00
Colin Cross 78542b9e13 Use dx or d8 from prebuilts/build-tools
Test: m -j checkbuild
Test: m -j TARGET_BUILD_APPS=Gallery2 ANDROID_COMPILE_WITH_JACK=false
Change-Id: I0a1aa00388ac1aab9c8ba967e815f923fe466ced
2017-09-25 16:15:11 -07:00
Colin Cross 5d969a3df4 Desugar lambdas in javac unbundled builds
Use prebuilt core-lambda-stubs from prebuilts/sdk and desugar from
prebuilts/build-tools to desugar lambdas in javac unbundled builds.

Test: apps build with ANDROID_COMPILE_WITH_JACK=false
Bug: 62038127
Change-Id: I000c3c2234443aa17f091784726ab9f63c0cc361
2017-09-25 16:15:11 -07:00
Colin Cross b541aae17c Remove duplication of bootclasspath in LOCAL_JAVA_LIBRARIES
The bootclasspath libraries have direct dependencies now, so
remove them from LOCAL_JAVA_LIBRARIES so they don't also end
up in the classpath.

Test: m -j checkbuild
Test: m -j ANDROID_COMPILE_WITH_JACK=true java
Test: manually inspection of build-${TARGET_PRODUCT}.ninja
      only has expected changes
Test: no changes to system.img
Change-Id: Icbc8987468f237aa351708b33c3abe5ea3d1816e
2017-09-25 16:15:10 -07:00
Colin Cross 1d1e5ef61b Add dependencies on bootclasspath libraries
The libraries in the bootclasspath were getting their dependencies
because they were also in the default libraries list.  Make the
dependencies explicit in preparation for rearranging the default
libraries.

Test: m -j checkbuild
Change-Id: I3ea004714a31cd648ec2ef57ed3099bce70bc6b9
2017-09-25 16:14:42 -07:00
Bowgo Tsai b5b3bc6d5c Do not remove init.recovery.*.rc in recovery root
When making recovery image, it removes init*.rc under recovery root,
then copies init.recovery.*.rc from normal root to recovery root.

However, init.recovery.*.rc shouldn't exist in normal root because it
is only needed for recovery mode.

This change removes init*.rc under recovery root as before but skips
removing init.recovery.*.rc. So in device/*/*.mk, we can just copy
init.recovery.*.rc to recovery root without coping it to normal root
directory.

Bug: 65570851
Test: normal/recovery boot sailfish, checks init.recovery.sailfish.rc
      only exists in recovery root.
Change-Id: I069596fe2192d9dcbbdf2b77079b93ede3ed39ae
2017-09-25 18:39:22 +08:00
Colin Cross f6bc1a1ac0 Reindent bootclasspath code
Apply indentation to the bootclasspath selection code.

Test: m -j checkbuild
Change-Id: I5ca15636d34d43f9ebe7264d566d06d8c045b0e3
2017-09-23 19:48:27 -07:00
Miao Wang 6062710fed Merge "Correctly set the linker search path for libm and libc."
am: b463cdc874

Change-Id: I07df49db9881ee4e37b56f771d7a523680e06c04
2017-09-23 00:44:04 +00:00
Treehugger Robot b463cdc874 Merge "Correctly set the linker search path for libm and libc." 2017-09-23 00:34:21 +00:00
Colin Cross cc5e24c1db Merge "Revert "Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES"""
am: cb1e04a11f

Change-Id: I4380ad5ba81879334bf505136acef2fc86a11b48
2017-09-22 22:41:26 +00:00
Colin Cross cb1e04a11f Merge "Revert "Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES""" 2017-09-22 22:36:43 +00:00
Miao Wang 28e78f4600 Correctly set the linker search path for libm and libc.
- ndk/r10 is removed, we need to use SOONG ndk stubs instead.
  - Use MIN_SUPPORTED_SDK_VERSION instead of hard coded version 9 for
    32 bit compilation.

Bug: 38342163
Test: mm
Test: make -j40 FORCE_BUILD_RS_COMPAT=true RSTest_Compat
Change-Id: I9549446cb7f8faee8842b06f096d035535dc7f3d
2017-09-22 14:57:02 -07:00
Dan Willemsen dee143988e Merge "Remove ijar"
am: 1dcffadbc7

Change-Id: I55b0892905cf67655661f5a15ef3574e9e27db97
2017-09-22 21:30:17 +00:00
Dan Willemsen 1dcffadbc7 Merge "Remove ijar" 2017-09-22 21:23:13 +00:00
Colin Cross 0b42833ae3 Merge "Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES""
am: 7d607a1917

Change-Id: Iad553437753e78131e34da89bb61a2b75ac4f796
2017-09-22 20:53:44 +00:00
Colin Cross 34a9885f34 Revert "Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES""
This reverts commit 15a2fa21a8.

This reapplies I83f3d45bdd156200308dc7ed0e0fea5d895d37a6 without
the error on absolute paths if they are in $(OUT_DIR).

Test: OUT_DIR=/tmp/out mmma -j art/tools/ahat
Change-Id: Ia0b156d21ba4b95eb3004d61f6fae2f4341fd39c
2017-09-22 13:45:23 -07:00
Colin Cross 7d607a1917 Merge "Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES"" 2017-09-22 20:37:14 +00:00
Colin Cross 15a2fa21a8 Revert "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES"
This reverts commit 4a93294fc1.

Broke builds with absolute OUT_DIR.

Test: revert
2017-09-22 13:33:52 -07:00
Colin Cross 9761a1128b Merge "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES"
am: b6fc0a1cae

Change-Id: I4e082de7606caafb56cd7e9fff51fa571073e635
2017-09-22 18:11:03 +00:00
Colin Cross b6fc0a1cae Merge "Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES" 2017-09-22 17:55:35 +00:00
Richard Uhler b1fe04371b Merge "Proguard implicitly generates a proguard_dictionary"
am: 58e0b8c0a3

Change-Id: If925fd78c504c8e971a27c9c7e33f77c954b47cf
2017-09-22 08:29:28 +00:00
Richard Uhler 58e0b8c0a3 Merge "Proguard implicitly generates a proguard_dictionary" 2017-09-22 08:23:52 +00:00
Nan Zhang 849dc6c9d8 Merge "Re-org the merge_zips logiic under Turbine rule."
am: c9501f7d60

Change-Id: Ibfc1bbb6f0b9205b43d5676e0dcba9a72f81dc70
2017-09-22 05:59:19 +00:00
Colin Cross 4a93294fc1 Support <dir>:<file> for LOCAL_JAVA_RESOURCE_FILES
Support the same syntax as LOCAL_TEST_DATA for
LOCAL_JAVA_RESOURCE_FILES to allow placing files at a subdirectory
in the jar file by replacing the / before the first path element
to be included with a :.

Test: m -j checkbuild
Test: out/build-${TARGET_PRODUCT}.ninja is the same
Change-Id: I83f3d45bdd156200308dc7ed0e0fea5d895d37a6
2017-09-21 20:45:55 -07:00
Nan Zhang fda45fdbe1 Re-org the merge_zips logiic under Turbine rule.
Mac java build has flaky error for merge_zips. The error happend is
because both turbine.jar.premerged and static_java_libs are missing.

We allow one of them can be missing, but we don't allow both of them are
missing. So re-org the merge_zips logic to see if the input of Turbine is
empty or it is due to Turbine internal.

Bug: b/66441248
Test: m clean && m -j32
Change-Id: I3c4b15004fd67fef2b83eabc36841bc8c8ff6e4c
2017-09-21 16:51:18 -07:00
Dan Willemsen 6f2284e4fe Remove ijar
It's no longer used.

Test: cs/
Change-Id: Ib24094e494d4caa390f83df28c179b6012691ebc
2017-09-21 16:08:51 -07:00
Richard Uhler b32775a9b5 Proguard implicitly generates a proguard_dictionary
Use .KATI_IMPLICIT_OUTPUTS to convey as such.

This is to support a use case for building platform/art/tools/ahat,
which depends on the generated proguard_dictionary for running tests.

Test: m
Test: m ahat-test with relevant changes from clean build.
Change-Id: Ic8f3b6819cfd4cd18620a2eaafd80d672fde8f5c
2017-09-21 10:53:09 +01:00
Colin Cross 21276ed7c7 Merge "Add missing copy back to soong_java_prebuilt.mk"
am: bedc2110b7

Change-Id: I5e0f7ae8aba716c15a02d62d1f8c74e375ce240f
2017-09-21 05:17:07 +00:00
Treehugger Robot bedc2110b7 Merge "Add missing copy back to soong_java_prebuilt.mk" 2017-09-21 05:10:52 +00:00
Nan Zhang d43952b8f8 Merge "Move private_manifest file insertion to jars merging phase."
am: 3d6aaa2f56

Change-Id: Idfa204e931e69b86e7f9845887edfa3b2abdf0d8
2017-09-21 03:22:18 +00:00
Treehugger Robot 3d6aaa2f56 Merge "Move private_manifest file insertion to jars merging phase." 2017-09-21 03:16:34 +00:00
Colin Cross dcd6b243ac Add missing copy back to soong_java_prebuilt.mk
javalib.jar needs to be copied to both $(intermediates.COMMON)
and $(intermediates).

Test: m -j checkbuild
Change-Id: Ic2944691dced35c1e74d12f9948904cf748fe402
2017-09-20 18:07:41 -07:00
Colin Cross db347c5cb4 Merge "Make soong_java_prebuilt.mk accept dex jars"
am: d739bef96d

Change-Id: Ie9909adf61560f82d9a7c7482c2769fe4d81baee
2017-09-20 22:57:31 +00:00
Colin Cross d739bef96d Merge "Make soong_java_prebuilt.mk accept dex jars" 2017-09-20 22:54:16 +00:00
Nan Zhang b88011768d Move private_manifest file insertion to jars merging phase.
By doing this, the change of private_manifest file won't trigger
Javac to re-run during re-build.

Bug: b/65455145
Test: m clean && m -j32
Change-Id: Ib90d56daf0be5f31b51e07b7714a933bc5cf4496
2017-09-20 14:56:48 -07:00
Alan Leung 524ede46bb Merge "Replace DX_ALT_JAR with USE_D8"
am: 3b236ad3e3

Change-Id: I193a3d98cbbdc3f7bb88fb588c9ef9fba8b837c4
2017-09-20 20:01:42 +00:00
Treehugger Robot 3b236ad3e3 Merge "Replace DX_ALT_JAR with USE_D8" 2017-09-20 19:56:38 +00:00
Nan Zhang d9001d2733 Merge "Use merge_zips to merge jars during Java build in Make."
am: 39bbfe217a

Change-Id: Iad7343ad4d2889fc39161e8ab14449f42d23008b
2017-09-20 19:53:47 +00:00
Nan Zhang 39bbfe217a Merge "Use merge_zips to merge jars during Java build in Make." 2017-09-20 19:48:27 +00:00
Nicolas Geoffray 279df08f3b Merge "Revert "Revert "Make privileged apps always keep uncompressed dex files."""
am: 121fe5a80a

Change-Id: I9e54a206dd3f565e9facc07b4a595f1cf550164b
2017-09-20 08:51:24 +00:00
Nicolas Geoffray 121fe5a80a Merge "Revert "Revert "Make privileged apps always keep uncompressed dex files.""" 2017-09-20 08:19:23 +00:00
Nan Zhang 9bd540594d Use merge_zips to merge jars during Java build in Make.
1. Use merge_zips to merge jars without unzipping/rezipping static Java
libraries. And seperate merging process as a independent Make target so
that Javac can only depend on Turbine.

2. Remove duplicate vars: "full_java_lib_deps" in droiddoc.mk

3. Also use classes-header.jar for link_apk & link_instr

Bug: b/65455145
Test: m clean && m -j32

Change-Id: I7b0307664a6b86075c983284fce099bd3946318c
2017-09-19 18:49:33 -07:00
Colin Cross aadc3be5ca Make soong_java_prebuilt.mk accept dex jars
Accept LOCAL_SOONG_DEX_JAR and copy it to javalib.jar.

Test: m -j checkbuild
Change-Id: I28f9e99fe19110cab188a9129b058db532aa273f
2017-09-19 13:02:17 -07:00
Nicolas Geoffray b06c30b480 Revert "Revert "Make privileged apps always keep uncompressed dex files.""
bug: 30972906
bug: 63920015

Test: doing zipinfo on the produced apks after build.
Test: fugu build

This reverts commit f69441b76b.

Change-Id: I6b029f2044385f3e3fa332091a9244cec79d2474
2017-09-19 13:09:27 +01:00
Colin Cross 4971146b2b Merge "Upgrade to ManifestMerger2" 2017-09-19 06:39:23 +00:00
Jeff Gaston f32467dac6 Fix sdk-addon build on build servers
they don't source envsetup.sh

Bug: 65286453
Test: m -j OUT_DIR=/tmp/abs PRODUCT-sdk_gphone_x86-sdk_addon /tmp/abs/host/linux-x86/sdk_addon/google_phone_x86-eng.$(whoami)-linux-x86.zip

Change-Id: Id396203b500e70cfa2b1e1eb5241d88fae88fc36
Merged-In: Id396203b500e70cfa2b1e1eb5241d88fae88fc36
(cherry picked from commit 25210ce70b)
2017-09-18 19:27:13 -07:00
Jeff Gaston 8228d37ac4 Fix sdk-addon build on build servers
they don't source envsetup.sh

Bug: 65286453
Test: m -j OUT_DIR=/tmp/abs PRODUCT-sdk_gphone_x86-sdk_addon /tmp/abs/host/linux-x86/sdk_addon/google_phone_x86-eng.$(whoami)-linux-x86.zip

Change-Id: Id396203b500e70cfa2b1e1eb5241d88fae88fc36
Merged-In: Id396203b500e70cfa2b1e1eb5241d88fae88fc36
(cherry picked from commit 25210ce70b)
2017-09-18 19:13:49 -07:00
Colin Cross a636f16b34 Upgrade to ManifestMerger2
Switch to using ManifestMerger2 from
prebuilts/gradle-plugin/com/android/tools/build/manifest-merger/25.3.1/manifest-merger-25.3.1.jar

Bug: 36005379
Test: m -j checkbuild
Change-Id: Ia03a1eb096ebab9578e5b08183faa86f6818ff3c
Merged-In: I83bd3f95778e93796d06f063aa7c61d2a63b117b
(cherry picked from commit e76e8021eb)
2017-09-18 21:08:58 +00:00
Colin Cross a6af8ef91f Merge "Move jacocoagent into the bootclasspath"
am: 68dad73d34

Change-Id: I67cda4a8aefee7cdb946e4e3181f3254a2994ebc
2017-09-18 20:08:08 +00:00
Treehugger Robot 68dad73d34 Merge "Move jacocoagent into the bootclasspath" 2017-09-18 19:57:53 +00:00
Alan Leung be7b6ed397 Replace DX_ALT_JAR with USE_D8
Which would invoke the d8 script instead of calling javac on the jar.

BUG: 65212022
Test: m USE_D8=true
Change-Id: I8ee0b14210cb40895b0b208a01606e10a41f0acf
2017-09-18 12:39:52 -07:00
Nicolas Geoffray ed7dab7625 Merge "Revert "Make privileged apps always keep uncompressed dex files.""
am: bb779a0c04

Change-Id: I9618966e0946ec5a296d205cc303add14bec0d79
2017-09-18 15:20:00 +00:00
Nicolas Geoffray bb779a0c04 Merge "Revert "Make privileged apps always keep uncompressed dex files."" 2017-09-18 15:11:09 +00:00
Nicolas Geoffray f69441b76b Revert "Make privileged apps always keep uncompressed dex files."
Broke Fugu build. Will work on a workaround for it.

bug: 30972906
bug: 63920015

This reverts commit 09dfe6739a.

Change-Id: I5a8b8de4ec98ae44808762ca1ba974ce89bebb05
2017-09-18 15:07:26 +00:00
Nicolas Geoffray 65c8bc6695 Merge "Make privileged apps always keep uncompressed dex files."
am: 3a5c65ef2f

Change-Id: I3c734aa91fd530120633f8626717c9857579eee4
2017-09-18 09:26:09 +00:00
Nicolas Geoffray 3a5c65ef2f Merge "Make privileged apps always keep uncompressed dex files." 2017-09-18 09:21:53 +00:00
Colin Cross 69b7f3f0b1 Move jacocoagent into the bootclasspath
Move jacocoagent out of core-libart and into its own jar on the
bootclasspath.

Test: m -j EMMA_INSTRUMENT=true
Test: https://android-build.googleplex.com/builds/view-workplan?viewType=Table&workplanId=L19400000103297394&nodeType=Trybot
Change-Id: I9e6e3dc59dba8b93685d59b258d4ebc7835eab8b
2017-09-15 22:27:35 +00:00
Nicolas Geoffray 09dfe6739a Make privileged apps always keep uncompressed dex files.
To ensure the verified boot work does not make ART run
dex code uncompressed in memory, make the build system
generate uncompressed dex files in APKs.

The alignment of STORE files in an APK is already handled.

bug: 30972906
bug: 63920015

Test: doing zipinfo on the produced apks after build.
Change-Id: I0ccdeae5d674b2a409a1343c4a14699c7bf0defb
2017-09-15 21:49:05 +01:00
Nan Zhang 32fc9a5c46 Merge "Move classes.jar generation right below JarJar phase."
am: 729a221a16

Change-Id: I65352f033cdb64dd08dc1e0ab82bc2bbec6e8591
2017-09-15 20:13:18 +00:00
Jeff Gaston c5fa0e7f49 resolve merge conflicts of 8bbbd87ef6 to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Merged-In: Id2d18fe41de5d533baf1f082292d70d946386249
Change-Id: Ibc66733eb7879f2be2458e922641fec3a899beab
2017-09-15 19:25:19 +00:00
Nan Zhang 870025f89b Move classes.jar generation right below JarJar phase.
By doing this, we don't need run desugar/Jacoco/proguard twice for
static java libraries(one for their self build, another for downstream
dependents).

Test: m clean && m java
Bug: b/65455145
Change-Id: I87aee34940937dbde33a977f55d1faf2c8054561
2017-09-14 14:44:40 -07:00
Jeff Gaston 43f3457329 Fix sdk-addon for absolute OUT_DIR
Bug: 65286453
Test: m -j OUT_DIR=/tmp/abs PRODUCT-sdk_gphone_x86-sdk_addon /tmp/abs/host/linux-x86/sdk_addon/google_phone_x86-eng.jeffrygaston-linux-x86.zip
Change-Id: Id2d18fe41de5d533baf1f082292d70d946386249
2017-09-13 15:23:38 -07:00
Colin Cross ec6ba0d686 Merge "Make -ldl -lrt -lpthread implicit for host builds"
am: 952f1e5161

Change-Id: I4b540ee6dd2f9f858afc95d6ade27a6f9df1a05a
2017-09-09 01:36:02 +00:00
Treehugger Robot 952f1e5161 Merge "Make -ldl -lrt -lpthread implicit for host builds" 2017-09-09 01:32:23 +00:00
Dan Willemsen e931e59dc6 Merge "Remove (TARGET|HOST)_BUILD_TYPE path modifications"
am: c9916ddbd7

Change-Id: Ide09d043908f9289d9e487ed225b3823e8773b55
2017-09-08 23:48:14 +00:00
Colin Cross 0bd335f9b0 Make -ldl -lrt -lpthread implicit for host builds
Instead of requiring every host module to specify -ldl -lrt -lpthread
and then break the mac build because -lrt doesn't exist, make them
implicit to match the behavior of modules built for the device.

Test: m -j checkbuild
Change-Id: I7b5b5289a41cd8f6e7dc2da59400955d867ee783
2017-09-08 16:43:55 -07:00
Treehugger Robot c9916ddbd7 Merge "Remove (TARGET|HOST)_BUILD_TYPE path modifications" 2017-09-08 23:40:36 +00:00
Dan Willemsen d6ed368fde Remove (TARGET|HOST)_BUILD_TYPE path modifications
They don't really affect anything general in android except for the
output path. Debug builds have been broken due to Soong not respecting
*_BUILD_TYPE, and with ninja, we'll properly rebuild if you switch
between release and debug flags. So just remove the path difference.

Bug: 65453318
Test: TARGET_BUILD_TYPE=debug m
Test: code search to find all the users
Change-Id: I5c6a322e0187d96cdaeef891778508c698f841e0
2017-09-08 14:33:34 -07:00
Jaekyun Seok 97361fd9c3 Merge "Support excluding overlays when enforcing RRO"
am: 28e1862411

Change-Id: I6b494a84e9087460e4eadb14cf44c33c820b15e9
2017-09-08 03:34:15 +00:00
Treehugger Robot 28e1862411 Merge "Support excluding overlays when enforcing RRO" 2017-09-08 03:21:26 +00:00
Jaekyun Seok ccee95e6ec Support excluding overlays when enforcing RRO
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS will be used to specify overlays
to be excluded from enforcing RRO.

The excluded overlays will be applied into the original package.

Bug: 63600240
Bug: 65001751
Test: succeeded building with
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := \
    vendor/google/google_overlay/static_only \
    vendor/google/nexus_overlay/common/static_only
and confirmed that config_webview_packages existed in framework-res.apk
with the overlayed value, but not in framework-res__auto_generated_rro.apk.

Change-Id: I0bfb44fc7726710bb78d9100404bc6dd29d06a73
2017-09-08 10:00:46 +09:00
Colin Cross 5d97be5117 Merge "Use soong_java_prebuilt.mk to export soong jars to java"
am: 11d1c9b02f

Change-Id: Ibf5f7f85fbc5f10c8205f32dee8d9ca06164c783
2017-09-07 23:06:58 +00:00
Colin Cross be1f792a83 Use soong_java_prebuilt.mk to export soong jars to java
Instead of trying to squeeze soong jars through prebuilt_internal.mk,
make a separate soong_java_prebuilt.mk.

Test: m -j checkbuild
Change-Id: I078e67ce58b2b2e0acf4b1ec28823e96b16a0cec
2017-09-07 13:46:02 -07:00
Mathieu Chartier c48a5c0a31 Merge "Fix boot image profile in make files"
am: 71f622e247

Change-Id: Iceb0a45af68573116681cca05c1f400ac156b596
2017-09-05 17:26:32 +00:00
Mathieu Chartier 71f622e247 Merge "Fix boot image profile in make files" 2017-09-05 17:14:08 +00:00
Mathieu Chartier a2cc65b099 Fix boot image profile in make files
Update location to framework/base/config instead of frameworks/base

Fixed dex2oat dependency to my_out_boot_image_profile_location
instead of my_out_profile_location.

Bug: 37966211
Test: make and flash

Merged-In: I446f11216cf6342861bbbf56ac5c4da2f36fb755

(cherry picked from commit 75edf540e2)

Change-Id: I4a34be8a344880d3e2ccaea3ed0e6390616e0d6c
2017-09-02 23:47:32 +00:00
Andreas Gampe 1207c86cd6 Build: Move preopt classpath to private variable
Move DEX2OAT_CLASS_LOADER_CONTEXT to
PRIVATE_DEX2OAT_CLASS_LOADER_CONTEXT in preparation for actual
classpaths.

Bug: 65256727
Test: m
Test: oatdump --oat-file=$OUT/system/framework/oat/arm64/wifi-service.odex --header-only
Change-Id: I5bcfebcd3be1a187954f550dbe1d3aa1d5099052
2017-09-02 15:22:43 -07:00
Nan Zhang dc8ddb2da5 Merge "Fix the build breakage on git-wear-master/mirror-aosp-master-with-vendor"
am: 2fc0f4e484

Change-Id: Ic57ec8debe84102c55b63e2bdfb94a41da86d71c
2017-09-02 19:36:10 +00:00
Nan Zhang 9e37028db0 Fix the build breakage on git-wear-master/mirror-aosp-master-with-vendor
git-wear-master/mirror-aosp-master-with-vendor were still broken due to
my Make synatx mistakes.

Bug: b/64308460

Test: download <git-wear-master> branch locally, and then do:
m -j out/target/product/anglefish/package-stats.txt

Change-Id: Ic1a03b452db7583811a3a3b74067f1fc54f873b4
2017-09-02 10:25:17 -07:00
Nan Zhang e665010297 Merge "Fix the build breakage on git-wear-master/mirror-aosp-master-with-vendor"
am: 99e44773ba

Change-Id: If6bb6ff7147e221b85d3750eeddbd1870d464ed8
2017-09-02 05:09:23 +00:00
Nan Zhang d05e19df41 Fix the build breakage on git-wear-master/mirror-aosp-master-with-vendor
The problem is that when I added .KATI_RESTAT for javalib.jar, I didn't
change the function: create-empty-package to generate javalib.jar.tmp.

The problem causes the build breakage on MacOS/Jack.

Bug: b/64308460

Test: download <git-wear-master> branch locally, and then do:
m -j out/target/product/angelfish/package-stats.txt

Change-Id: I9a5d74caaf164b44676e456050b4f8a5b3bdded0
2017-09-01 18:52:41 -07:00
Tao Bao cdfabdbf85 Merge "Pack system/update_engine/scripts into otatools.zip."
am: 27bfc86d8b

Change-Id: I9899eb544f48e4556117b4c83153a76a3ef72cb9
2017-09-01 16:54:07 +00:00
Tao Bao 27bfc86d8b Merge "Pack system/update_engine/scripts into otatools.zip." 2017-09-01 16:45:08 +00:00