Commit graph

44791 commits

Author SHA1 Message Date
Mathieu Chartier
fd7ba3e4eb Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" into pi-dev
am: b17f384dd7

Change-Id: I4e6d330ecc3786244585dfdb2d104b5a3feff059
2018-05-02 16:21:23 -07:00
Mathieu Chartier
b17f384dd7 Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" into pi-dev 2018-05-02 23:13:42 +00:00
Steven Moreland
627debe1d7 Add verify_vintf_matrices.
Modules declare 'vintf_fragments' much like
they declare 'rc_file'. These are verified
in mass during a device build.

Test: `m` can cause verify_vintf_matrices to
    pass or fail.
Test: build OTA package and check to make sure it
    contains the correct assembled matrices.
Bug: 66917623

Change-Id: I504985100069456a0ca4d0180387d271bb283d49
2018-05-02 15:34:36 -07:00
Colin Cross
43641b5e1f Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
If a static android library lib1 has LOCAL_STATIC_ANDROID_LIBRARIES
lib2, then the R.class files for packages in lib2 will be merged
into the jar for lib1.  If an app has lib1 in its
LOCAL_STATIC_ANDROID_LIBRARIES it will get the R.class files from
lib2 through lib1, instead of regenerating the R.java files with
numbering that matches the resource table of the app.

This was worked around for support libraries by keeping a
fix_dependencies.mk that added transitive static support libraries
to the direct static dependencies of apps.  Instead, propagate
the packages that aapt2 generated R.java files for up as
--extra-packages arguments to the next aapt2 invocation, which
will force aapt2 to regenerate the R.java files for those packages.

Bug: 78300023
Test: m checkbuild
Change-Id: I7375e13241b4c4f2933032409fb7935abe133bfc
Merged-In: I7375e13241b4c4f2933032409fb7935abe133bfc
(cherry picked from commit 43c247e181)
2018-05-02 15:31:03 -07:00
Colin Cross
0fd1234427 Allow Soong to export multiple proguard flags files
Soong uses lists of proguard flags files from dependencies instead
of a single concatenated file.  Allow Soong to pass the list to
make, which will concatenate it.

Move the check inside ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
in case Soong exports an Android library with an empty
LOCAL_SOONG_EXPORT_PROGUARD_FLAGS.

Bug: 73724997
Test: m checkbuild
Change-Id: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
Merged-In: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
(cherry picked from commit 42669e6dc7)
2018-05-02 15:31:03 -07:00
Colin Cross
af7190084d Fix echo when copying package-res.apk
Bug: 73724997
Test: m checkbuild
Change-Id: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
Merged-In: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
(cherry picked from commit a90f4b297f)
2018-05-02 15:31:03 -07:00
Colin Cross
3c49164e0b Allow soong java libraries to include exported resources and proguard flags
Bug: 73724997
Test: m checkbuild
Change-Id: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
Merged-In: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
(cherry picked from commit 7874138a8a)
2018-05-02 15:31:03 -07:00
Colin Cross
24fcb2869a Merge "Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES" am: b0d0ca38cc
am: 45525258b1

Change-Id: Id1ec46833aae7aa339735d51c44a3e0d971f901b
2018-05-02 15:03:14 -07:00
Colin Cross
45525258b1 Merge "Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES"
am: b0d0ca38cc

Change-Id: Ibb10bf34960329a888991f1336d3a6cf145f8eac
2018-05-02 14:59:38 -07:00
Colin Cross
b0d0ca38cc Merge "Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES" 2018-05-02 21:51:10 +00:00
android-build-prod (mdb)
66b6a3e77c Merge "Accept TARGET_DEVICE_DIR preserved from previous product load" am: 79babfacaa
am: 570881ef0d

Change-Id: Iaeeceb82312f40eee05fa98284e315e159bf49c4
2018-05-02 14:00:28 -07:00
android-build-prod (mdb)
b10c87e1e2 [automerger skipped] Merge "Adding Q entries to version_defaults.mk" am: fc8e281bc3
am: 919957ef3b  -s ours

Change-Id: Ib0584e190d25a4fe0c9a2fe5a4d6f73cf9776487
2018-05-02 13:57:14 -07:00
Mathieu Chartier
f16e8d0d94 Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set
Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.

Bug: 77342775
Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
2018-05-02 20:21:37 +00:00
Colin Cross
43c247e181 Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
If a static android library lib1 has LOCAL_STATIC_ANDROID_LIBRARIES
lib2, then the R.class files for packages in lib2 will be merged
into the jar for lib1.  If an app has lib1 in its
LOCAL_STATIC_ANDROID_LIBRARIES it will get the R.class files from
lib2 through lib1, instead of regenerating the R.java files with
numbering that matches the resource table of the app.

This was worked around for support libraries by keeping a
fix_dependencies.mk that added transitive static support libraries
to the direct static dependencies of apps.  Instead, propagate
the packages that aapt2 generated R.java files for up as
--extra-packages arguments to the next aapt2 invocation, which
will force aapt2 to regenerate the R.java files for those packages.

Bug: 78300023
Test: m checkbuild
Change-Id: I7375e13241b4c4f2933032409fb7935abe133bfc
2018-05-02 13:11:08 -07:00
android-build-prod (mdb)
570881ef0d Merge "Accept TARGET_DEVICE_DIR preserved from previous product load"
am: 79babfacaa

Change-Id: I1d304d64e7c525faa68d817777d17950697eed30
2018-05-02 10:47:26 -07:00
android-build-prod (mdb)
79babfacaa Merge "Accept TARGET_DEVICE_DIR preserved from previous product load" 2018-05-02 17:35:34 +00:00
android-build-prod (mdb)
919957ef3b Merge "Adding Q entries to version_defaults.mk"
am: fc8e281bc3

Change-Id: I919d3d7cd3567f2cafc815cc3e0e23734a77ad5f
2018-05-02 08:38:39 -07:00
android-build-prod (mdb)
fc8e281bc3 Merge "Adding Q entries to version_defaults.mk" 2018-05-02 15:27:50 +00:00
Anton Hansson
d17f99a6b3 Merge "Forbid depending directly on SDK modules." am: efd6084996
am: 20da4aa253

Change-Id: Ied594aa68e605a448c06193071edf4dca2fcaa93
2018-05-02 07:21:21 -07:00
Anton Hansson
20da4aa253 Merge "Forbid depending directly on SDK modules."
am: efd6084996

Change-Id: Ic18f74147d8cf268a3fa3ca88f7fa8f8ee998b8a
2018-05-02 07:15:48 -07:00
Anton Hansson
efd6084996 Merge "Forbid depending directly on SDK modules." 2018-05-02 14:02:52 +00:00
Anton Hansson
9d030609e5 Forbid depending directly on SDK modules.
They should be depended on by specifying LOCAL_SDK_VERSION. Depending
on them directly makes it difficult to rename or modify these targets,
as I've found when working on b/77525052.

This list can be further extended to other libraries that should not
be depended on directly.

Bug: b/77525052
Test: make
Change-Id: I911bcc8a5a90995b3607599388dc6119eb88ea96
2018-05-02 15:02:09 +01:00
Ian Pedowitz
8eb8ec88f5 Adding Q entries to version_defaults.mk
Bug: 77589980
Test: Build
Change-Id: Ic96cfae559143bd0d985663cbe58e09619978c97
Merged-In: Ic83304d326121326f380afca8fdf466ecc0781b0
Merged-In: I1ccbfdeddb2eecb6342253e401bba118c3652f8d
2018-05-02 13:51:24 +00:00
android-build-prod (mdb)
d5ec7a3fd6 Merge "Use AndroidProducts.mk list from Soong's finder" am: 7ae1713dca
am: 48a7199b68

Change-Id: I24ce4ca9645577c41aa917bc33cbd2c6c0a877b0
2018-05-02 01:41:09 -07:00
android-build-prod (mdb)
48a7199b68 Merge "Use AndroidProducts.mk list from Soong's finder"
am: 7ae1713dca

Change-Id: I7841a44db84f76b9c2eeb3e527481bee25ed2f8a
2018-05-02 01:36:18 -07:00
android-build-prod (mdb)
7ae1713dca Merge "Use AndroidProducts.mk list from Soong's finder" 2018-05-02 08:27:24 +00:00
Dan Willemsen
92afd7d1e7 Accept TARGET_DEVICE_DIR preserved from previous product load
During a build, we load product configuration three different times --
to dump some initial variables, when parsing the CleanSpec.mk files, and
again when we parse the Android.mk files.

The BoardConfig.mk find commands use -path, which isn't supported by the
Kati find optimizer, so we end up spending ~125ms in each of the above
cases (on my machine, internal master -- aosp is closer to 30ms).

Instead, do the search during the initial dumping of variables, and pass
in TARGET_DEVICE_DIR into the later runs, using that to load the
BoardConfig.mk file.

Bug: 78020936
Test: out/build-taimen.ninja is identical
Test: out/soong.log shows that we're not running these finds again
Change-Id: I6f186e1879aa362528b48b8a00be3f7a9f88bfc5
2018-05-02 00:15:41 -07:00
android-build-prod (mdb)
81dd2f9382 Merge "Speed up a slow find command" am: 88727e2422
am: 2ce6bcd1b2

Change-Id: Ia8bfe9710a31fb98491c072edb48cd74b573a693
2018-05-01 23:01:43 -07:00
Dan Willemsen
b9d63519c0 Use AndroidProducts.mk list from Soong's finder
This saves ~300ms from get_build_var on our internal tree (1.3s ->
1.0s). On AOSP, it only saves ~60ms (0.60s -> 0.54s).

It's also ran during lunch, and twice during every build (though the
second time it was run with Kati's find emulator, which significantly
reduces the overhead).

Bug: 78020936
Test: diff out/.module_paths/AndroidProducts.mk.list with existing find
      results
Change-Id: I195b2840854122e41275e24e886ca8c8cda13dac
2018-05-01 22:56:07 -07:00
android-build-prod (mdb)
2ce6bcd1b2 Merge "Speed up a slow find command"
am: 88727e2422

Change-Id: I4abb93c4693edf2e37b16f95cc0d42399ba7a94c
2018-05-01 22:55:37 -07:00
android-build-prod (mdb)
88727e2422 Merge "Speed up a slow find command" 2018-05-02 05:48:37 +00:00
Dan Willemsen
60c6644932 Speed up a slow find command
find .... -name oem\*.prop

Kati can't emulate this command -- it can't currently handle backslashes
in the middle of an argument, only at the beginning or end. So this
falls back to actually calling find, which can take a few seconds if
you've got a large vendor tree. Just switch all of these over to quoted
arguments instead of escaping the *.

Bug: 78020936
Test: Check out/soong.log for timing info
Test: out/build-taimen.ninja is identical
Change-Id: Ifde75948f677ad95107d9419a462649024f544b8
2018-05-01 21:15:35 -07:00
android-build-prod (mdb)
a6eef2e03e Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other" am: b113a94d09
am: ddb7eb9544

Change-Id: Ic9eefd7c342ab825fdfa3c4b86fa4ed2aaf08599
2018-05-01 20:51:17 -07:00
android-build-prod (mdb)
ddb7eb9544 Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other"
am: b113a94d09

Change-Id: I4e07d3f2f17acfd991cf5f5ef7878447390114c3
2018-05-01 20:46:44 -07:00
android-build-prod (mdb)
b113a94d09 Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other" 2018-05-02 03:40:48 +00:00
Dan Willemsen
7d957c911a Allow PRODUCT_COPY_FILES to copy raw APKs into system_other
Files in this partition aren't actually installed, so we don't need to
use the BUILD_PREBUILT logic for APKs.

Bug: 66960479
Test: try PRODUCT_COPY_FILES of an apk into system, errors
Test: try PRODUCT_COPY_FILES of an apk into system_other, accepted
Change-Id: Ie721d2b884c6badfbe0e46f55c265b770bed618b
2018-05-01 19:02:11 -07:00
Steven Moreland
42a0afc12d rename BUILT_SYSTEM_{COMPATIBILITY_,}MATRIX
To be consistent with BUILT_VENDOR_MATRIX.

Bug: 78943004
Test: manual
Change-Id: I2811647798322165182b7c90bb4937d93580833c
2018-05-01 18:37:02 -07:00
Ian Pedowitz
ec7605680a Adding Q entries to version_defaults.mk
Removing PPR1 entries from version_defaults.mk

Bug: 77589980
Test: Build
Change-Id: Ic83304d326121326f380afca8fdf466ecc0781b0
Merged-In: I1ccbfdeddb2eecb6342253e401bba118c3652f8d
2018-05-01 15:19:35 -07:00
David Brazdil
ad610fc9fd [automerger skipped] Merge "DO NOT MERGE: Create filename constant for @removed API signature file" into pi-dev
am: 700077506e  -s ours

Change-Id: I6e09c767cde9e4fb9b1d96aca114d3677b37b68d
2018-05-01 05:41:59 -07:00
David Brazdil
700077506e Merge "DO NOT MERGE: Create filename constant for @removed API signature file" into pi-dev 2018-05-01 12:31:35 +00:00
Ian Pedowitz
2f33436f15 Revert "DO NOT MERGE: P is now REL"
This reverts commit 2325d05510.

Reason for revert: Broke -plus-aosp builds.  Reverting there to fix.

Change-Id: I625092da1df78ac76590ab27b01ed6f506e5e237
2018-05-01 02:46:16 +00:00
Android Build Merger (Role)
f30193edd4 Merge "Merge "DO NOT MERGE: P is now REL" into pi-dev am: 9ab9fe762d" into pi-dev-plus-aosp 2018-05-01 02:01:21 +00:00
android-build-prod (mdb)
e846917ac9 Merge "Allow Soong to export multiple proguard flags files" am: 36bf0df48f
am: 43b310f301

Change-Id: Ice3d36f48b677cfddea265919ca9aed9e42d316d
2018-04-30 18:22:47 -07:00
Ian Pedowitz
6f1bf853cd Merge "DO NOT MERGE: P is now REL" into pi-dev
am: 9ab9fe762d

Change-Id: I89f09feebd92c79df725d2816d4831dd7af75457
2018-04-30 18:21:39 -07:00
android-build-prod (mdb)
f503b22f29 Merge changes from topic "java_sdk_library" am: e8c3dfd945
am: 8303590165

Change-Id: I6ee23bf7c8e8d0a8fb6d0264cb79900071c1ae7d
2018-04-30 18:21:37 -07:00
android-build-prod (mdb)
43b310f301 Merge "Allow Soong to export multiple proguard flags files"
am: 36bf0df48f

Change-Id: If220f5ff46aec61971e40e3097b5a6d2d1a9bc0d
2018-04-30 18:18:42 -07:00
android-build-prod (mdb)
8303590165 Merge changes from topic "java_sdk_library"
am: e8c3dfd945

Change-Id: I6eca5f3903e0743df185d15320ef74a0e222cd3f
2018-04-30 18:17:25 -07:00
Ian Pedowitz
9ab9fe762d Merge "DO NOT MERGE: P is now REL" into pi-dev 2018-05-01 01:07:50 +00:00
android-build-prod (mdb)
36bf0df48f Merge "Allow Soong to export multiple proguard flags files" 2018-05-01 01:07:24 +00:00
android-build-prod (mdb)
e8c3dfd945 Merge changes from topic "java_sdk_library"
* changes:
  sdk lib name can be in LOCAL_[STATIC_]JAVA_LIBRARIES
  java_sdk_library supports test as another API scope
  Support LOCAL_SDK_LIBRARIES for "current" builds.
2018-05-01 01:04:56 +00:00