Commit Graph

20099 Commits

Author SHA1 Message Date
Jiyong Park
d5877b54a7 Merge "Fix apex_available" into rvc-dev 2020-03-12 00:31:28 +00:00
Ulya Trafimovich
4fd35a2a16 Set '--force-determinism' option for boot image compilation.
Test: aosp_walleye-userdebug boots.

Bug: 150934453

Change-Id: I0edf7fbfe18ea2f3d1cfda5138a48bdc1420aa6a
(cherry picked from commit c0c98d51d6)
2020-03-11 10:24:49 +00:00
Jooyung Han
b8fa86ad6f Fix apex_available
Checking apex_available was missing some corner cases.
For example, the deps of share deps of cc_library modules are missed
while those from cc_library_shared are correctly tracked.

This was due to..

* calling DepIsInSameApex in WalkDeps: both work fine separately, but
when they are used together, it fails to work. It's due to how WalkDeps
works. (We might fix this bug too risky since it is used very widely)
* incorrect receiver for DepIsInSameApex in apex_deps mutator: receiver
is supposed to be parent, but child was used before. Interestingly lots
of deps are within the same group of module types(cc to cc, java to
java), it has worked. (note that receiver's DepIsInSameApex
implementation can be different).

This change fixes them by..

* walkPayloadDeps is now relying on ApexVariation, which is calculated
correctly by TopDown apex_deps mutator.
* use correct receiver for DepIsInSameApex in apex_deps mutator, which
requires for java.SdkLibrary to override the method and for
java.Library/Import to use passed dep instead of receiver to check its
membership of sdk.

Exempt-From-Owner-Approval: cherry-pick from aosp/master

Bug: 151071238
Test: build/boot
Merged-In: I0569ef4bb8e79635e4d97a89f421a8d8b7d26456
(cherry picked from commit 5e9013be22)
Change-Id: I0569ef4bb8e79635e4d97a89f421a8d8b7d26456
2020-03-11 16:38:21 +09:00
TreeHugger Robot
5a3899b5c5 Merge "Apex_available check failure reveals dependency" into rvc-dev 2020-03-09 08:45:49 +00:00
Jiyong Park
7bd9444b0f Apex_available check failure reveals dependency
When the check for apex_available has failed, the build system now shows
the module that brought the unavailable module into the APEX.

Bug: 151051671
Test: m
Change-Id: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
2020-03-09 14:29:18 +09:00
Dan Willemsen
828e1575e1 Stop using the host python3
We've now got a prebuilt in prebuilts/build-tools

Bug: 123089883
Test: treehugger
Change-Id: Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8
Merged-In: Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8
(cherry picked from commit 669f769470)
2020-03-07 11:22:30 -08:00
TreeHugger Robot
765ccd021f Merge "Convert cc to AndroidMkEntries" into rvc-dev 2020-03-06 17:13:29 +00:00
TreeHugger Robot
bc4df10016 Merge "DO NOT MERGE: Remove AppSearch from Android R." into rvc-dev 2020-03-05 21:09:00 +00:00
TreeHugger Robot
fe4e900e0e Merge "Add min_sdk_version property to apexes" into rvc-dev 2020-03-05 10:02:57 +00:00
Colin Cross
dc7319df2b Convert cc to AndroidMkEntries
Use AndroidMkEntries so the next patch can use ExtraFooters, which
doesn't exist in AndroidMkData.

Bug: 149591522
     the bug is not exactly related to this change, but it is the bug
     that the follow-up changes are trying to fix.
Test: manually diff out/soong/Android.aosp_x86_64.mk
Merged-In: Ia3006b6747813693cf7e2b536030b21f3109f538
Change-Id: Ia3006b6747813693cf7e2b536030b21f3109f538
(cherry picked from commit d80cbca76d)
2020-03-05 14:40:43 +09:00
Colin Cross
7365eaafd5 Add min_sdk_version property to apexes
Add a min_sdk_version property apexes.  Currently a noop, but will
be used to enforce that dependencies are compatible with the
specified version.

Test: m checkbuild
Bug: 149591522
Merged-In: I923773c90fe15becbffae3986791aa9edde8f8f6
Change-Id: I923773c90fe15becbffae3986791aa9edde8f8f6
(cherry picked from commit 50317874ff)
2020-03-05 14:40:28 +09:00
Inseob Kim
ac775b2a0f Capture snapshot headers in parallel
VNDK and vendor snapshot singleton work in a single thread, so globbing
in singleton results in ridiculus running time. Moving codes to
GenerateAndroidBuildActions to reduce running time.

Bug: 150406226
Test: VNDK_SNAPSHOT_BUILD_ARTIFACTS=true m dist vndk vendor-snapshot
Test: vendorSnapshotSingleton build time became 0.56s (from 10s)
Test: build.ninja building time became 1m11s (from 1m21s)
Change-Id: I4a081eef5847c62ca00280ca426f5b4e10f87b59
Merged-In: I4a081eef5847c62ca00280ca426f5b4e10f87b59
(cherry picked from commit eda2e9c728)
2020-03-05 09:36:31 +09:00
Nikita Ioffe
307dd9f4a5 Merge "Always use "${codename}.${sha}" if UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true" into rvc-dev 2020-03-04 21:54:26 +00:00
Justin Yun
98df0d1c63 Enable vndk-ext for product variants
To build vndk-ext for product variants use `vndk.extends` property
with `product_specific: true` as for the vndk-ext for vendor
variants. For example:
cc_library {
    name: "libvndk_ext_product",
    product_specific: true,
    vndk: {
        enabled: true,
        extends: "libvndk",
    },
}

It will install the vndk-ext libs for product variants in
product/lib[64]/vndk/

Test: m nothing
Bug: 147778025
Change-Id: If1ee5be93c579abad302f44f18e6316f27e70019
Merged-In: If1ee5be93c579abad302f44f18e6316f27e70019
(cherry picked from commit 0ecf0b223f)
2020-03-04 04:37:02 +00:00
Jiyong Park
e95000a35e Merge "PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES is applicable to override_apex" into rvc-dev 2020-03-04 02:50:48 +00:00
Ivan Lozano
092c245c14 Merge "Add -z separate-code to default ARM64 device flags" into rvc-dev 2020-03-04 00:43:27 +00:00
Ivan Lozano
c352e3e875 Add -z separate-code to default ARM64 device flags
Removing XOM had the side effect of removing "-z separate-code", which
was needed to override a new default after a recent toolchain update.
This led to some performance regressions in some tests. For now, add
this flag to the global arm64 device flags to return to the previous
behavior.

Bug: 150506341
Test: m -j
Change-Id: I26a93deb17868103eaa4b87bd7bb8416f3adbc7f
Merged-In: I54787954141d133e245dfd259a37bf4c3c8e7caa
(cherry picked from commit c80bbb46b1)
2020-03-03 14:39:35 -05:00
Nikita Ioffe
934c4f2acc Always use "${codename}.${sha}" if UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true
Test: m checkbuild
Test: DIST_DIR=/tmp/r-on-q/prod/ TARGET_BUILD_VARIANT=userdebug \
  vendor/google/build/build_mainline_modules_prod.sh -j120
Test: DIST_DIR=/tmp/r-on-q/rsha/ TARGET_BUILD_VARIANT=userdebug \
  vendor/google/build/build_mainline_modules.sh -j120
Test: checked target sdk version is correct for both builds
Bug: 149733822
Change-Id: I3e1beeb721f7e87bc6adda61861fa962ec892360
2020-03-03 12:06:30 +00:00
Jiyong Park
a519c54dd3 PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES is applicable to override_apex
apex { name: "foo" }
override_apex { name: "override_foo", base:"foo" }

PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES := foo:com.android.foo

Previously, the override was done only for the overridden package "foo",
but not for "override_foo". Fixing this issue by using ctx.ModuleName()
when finding the package name to use.

Bug: 150645663
Test: m
Change-Id: I2947e5c75369216a4bbce8749503236be86771c3
2020-03-03 11:45:41 +09:00
Dario Freni
18423788cb Pass apex_build_info to bundle base.zip file
Fix: 150077028
Test: manual inspection of com.android.wifi-base.zip
Change-Id: Id201a3410a46e0c88a77e6f88e5b85906c7a6c8b
2020-03-02 22:31:01 +00:00
Jiyong Park
af8998cba6 bundle config contains (path,manifest) pairs of embedded APKs
If an APEX contains APKs and the manifest package name of the APKs are
overridden (either via override_android_app
orPRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES), that the path to the APK
(relative in the APEX) and the overridden manifest package name is
recorded in the bundle config file.

Exempt-From-Owner-Approval: cherry-pick from master

Bug: 148002117
Test: m

Merged-In: Ibb90bcefb77fa6b2dad77cb2facc6079de9ab154
(cherry picked from commit cfaa1643e8)
Change-Id: Ibb90bcefb77fa6b2dad77cb2facc6079de9ab154
2020-03-01 03:59:11 +00:00
Jiyong Park
d93e1b1e66 bundle config for apexes are auto-generated
bundle config file for apexes are auto-generated. It is included in the
<apex>-base.zip file, which is expected to be extracted and then fed
into the bundletool.

This change is in preparation for the upcoming change to include
information about embedded apks in the bundle confir file.

Exempt-From-Owner-Approval: cherry-pick from master

Bug: 148002117
Test: m

Merged-In: If25d75e0f62036dc777faf8593ed8eb9a74950b0
(cherry picked from commit bd15961043)
Change-Id: If25d75e0f62036dc777faf8593ed8eb9a74950b0
2020-03-01 03:56:51 +00:00
Colin Cross
30ec3c97d2 Merge "Only dist apex sizes for checkbuild" into rvc-dev 2020-02-29 03:31:05 +00:00
Colin Cross
cd33fa2668 Only dist apex sizes for checkbuild
Using $(call dist-for-goals,droidcore,...) for every apex
installed-files.txt causes every apex to be built for all builds,
causing a signficiant regression in build time.  For now only
dist them in checkbuilds, which were going to build all of them
anyways.

Ideally we would like to dist the installed-files.txt only if
the apex was already built, but there is not currently a way to
express that.

Test: treehugger
Bug: 149979076
Change-Id: I21edbc90980f94ad6d497cb86ee80223dd782fe1
Merged-In: I21edbc90980f94ad6d497cb86ee80223dd782fe1
(cherry picked from commit 1c85e8e019)
2020-02-28 10:43:10 -08:00
Jiyong Park
73fa54e7a4 Merge "No symlink for host APEXes" into rvc-dev 2020-02-27 03:22:01 +00:00
Jiyong Park
9b96418dfe No symlink for host APEXes
Symlinking doesn't make sense for host APEXes.

Bug: 150255435
Test: m com.android.art.host and inspect the built APEX; there is
no symlink.

Change-Id: I28492dfaaef471117a430be05255fbef76e557b0
2020-02-26 18:27:19 +09:00
Jooyung Han
650417966c apex: do not follow jni_libs from android_app
Because APK-in-APEX embeds its jni_libs in it. We don't have to follow
deps of jni_libs.

Bug: 146992436
Test: m com.android.tethering
      deapexer extract com.android.tethering.apex apex
      ls apex # there should be no /lib dir

Merged-In: Ifa1a6430a420ae7376b155cd59b8ece462cced7e
Change-Id: Ifa1a6430a420ae7376b155cd59b8ece462cced7e
(cherry picked from commit b7bebe2616)
2020-02-26 14:10:23 +09:00
Yan Yan
a519350860 Merge "Update ike.jar's name in code coverage configuration" into rvc-dev 2020-02-26 03:09:17 +00:00
Alexander Dorokhine
c9c7116721 DO NOT MERGE: Remove AppSearch from Android R.
Test: presubmit
Bug: 150249538
Change-Id: I0a87b9d893bc76acf5ac5e8684f450b9a4f2a0cd
2020-02-25 17:16:41 -08:00
Jiyong Park
2882660422 Expect added members for instrumented modules
hiddenapi expects that all members in a class to have corresponding hidden
API flags. However, this can't be satisfied when the java module having
the class is instrumented; JaCoCo added a few number of synthetic
members. In this case, give 'no-force-assign-all' option to the hidden
api tool so that it doesn't complain about the synthetic methods.

Also, disabling instrumenting jacocoagent itself, because it doesn't
make sense.

Exempt-From-Owner-Approval: PS3 fixes a typo in a comment. PS2 got ORV.

Bug: 149353192
Test: SKIP_ABI_CHECKS=true EMMA_INSTRUMENT=true
EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true m
out/soong/.intermediates/external/apache-xml/apache-xml/android_common_com.android.art.debug/hiddenapi/unaligned/unaligned.jar
Merged-In: Ibaf383c439945ab664e885af319548b56e2c8cb6

(cherry picked from commit 93e57a0b86)
Change-Id: Ibaf383c439945ab664e885af319548b56e2c8cb6
2020-02-25 11:34:28 +00:00
Jiyong Park
81aaa0c1bd Reland "Turn on the instrumentation by default for the java code in APEXes"
This reverts commit c021ea0b35.

Exempt-From-Owner-Approval: cherry-pick from aosp

Bug: 149353192
Merged-In: I2b1c0736202de26c5ea88c0ab14574bd7207a5fb
Test: N/A (this is a clean revert) forward fix will be followed
(cherry picked from commit 00cae1cc88)
Change-Id: I2b1c0736202de26c5ea88c0ab14574bd7207a5fb
2020-02-25 11:34:09 +00:00
evitayan
996c18c78a Update ike.jar's name in code coverage configuration
ike has been renamed to android.net.ipsec.ike. This commit applies
this name updates to the code coverage configuration.

Bug: 148625578
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false android.net.ipsec.ike.com.android.ipsec_intermediates/ contains jacoco-report-classes.jar
Change-Id: Ic46a1091899eb5bc9560739ec86a9bea08585075
Merged-In: Ic46a1091899eb5bc9560739ec86a9bea08585075
(cherry picked from commit 2e5606736f)
2020-02-25 00:47:30 -08:00
Colin Cross
2ad2a7dfca Merge "Use header jar without jarjar for sharded classpath" 2020-02-21 22:27:01 +00:00
Automerger Merge Worker
aafbe3ab60 Merge "Allow Linux hosts to use ubsan runtime sanitizers." am: 61f7a24cea am: 10d46c9a54 am: d06e0974ce
Change-Id: I216706ee0a8fea5c496485784794006c562f0c42
2020-02-21 21:59:32 +00:00
Automerger Merge Worker
d06e0974ce Merge "Allow Linux hosts to use ubsan runtime sanitizers." am: 61f7a24cea am: 10d46c9a54
Change-Id: I9c8e62f0e60214af40420b530114d09c2fbef690
2020-02-21 21:42:05 +00:00
Automerger Merge Worker
10d46c9a54 Merge "Allow Linux hosts to use ubsan runtime sanitizers." am: 61f7a24cea
Change-Id: Iff7e990fe90dbcd1960eb8eab3120e90eda5514e
2020-02-21 21:23:24 +00:00
Ivan Lozano
61f7a24cea Merge "Allow Linux hosts to use ubsan runtime sanitizers." 2020-02-21 21:16:17 +00:00
Automerger Merge Worker
f9c738d084 Allow for setting a logging_parent for an Apex. am: 004d717158 am: f4fa3fe81e am: 833162725c
Change-Id: Ifa85d785453e5e363b4b374ce0ea1d12963cafbb
2020-02-21 18:05:12 +00:00
Automerger Merge Worker
833162725c Allow for setting a logging_parent for an Apex. am: 004d717158 am: f4fa3fe81e
Change-Id: I9b48680f2ab83b16d092bc8194d213643dc81a8c
2020-02-21 17:43:42 +00:00
Automerger Merge Worker
f4fa3fe81e Allow for setting a logging_parent for an Apex. am: 004d717158
Change-Id: I5b74fa459ba84c906a5d5060f90fba9ecc5898aa
2020-02-21 17:28:41 +00:00
Baligh Uddin
004d717158 Allow for setting a logging_parent for an Apex.
Test: go test ./... -test.v -run TestOverrideApex
BUG: 148198056
Change-Id: Ib3749e59f5e31903f2dbe75f86534738147a55ec
2020-02-21 16:59:26 +00:00
Colin Cross
f5a6628b27 Use header jar without jarjar for sharded classpath
Sharding uses the header jar of all of the classes of the module
with the sources of a subset, but was incorrectly used the jarjar
version of the header jar, which may have renamed some of the
classes.

Fixes: 149969343
Test: m framework-minus-apex
Change-Id: I568c939f8030d3ddc1e7fa8796cffcac4d6172e8
2020-02-21 08:16:41 -08:00
Automerger Merge Worker
7eaafe07cf Merge "Ensure consistent handling of generated headers/dirs" am: a0d58893fc am: 44242ee450 am: 4d54a5a580
Change-Id: I66ccacab3c2f411afdad5f91cd243b66ad519456
2020-02-21 09:06:19 +00:00
Automerger Merge Worker
15c8f35236 Merge "Do not add dependencies from disabled sdk variants to its members" am: 1c1c6ab46b am: 63f0e96c10 am: ad22da0dcb
Change-Id: I729e209bb9c4c67443697bd4d76053d391a1bca5
2020-02-21 09:06:05 +00:00
Automerger Merge Worker
4d54a5a580 Merge "Ensure consistent handling of generated headers/dirs" am: a0d58893fc am: 44242ee450
Change-Id: Ia79588237460b26927cfb09379ca9685741f317f
2020-02-21 08:51:51 +00:00
Automerger Merge Worker
ad22da0dcb Merge "Do not add dependencies from disabled sdk variants to its members" am: 1c1c6ab46b am: 63f0e96c10
Change-Id: I9fff6ffdda1d23a111159b4f7a17611943d854c4
2020-02-21 08:51:39 +00:00
Automerger Merge Worker
44242ee450 Merge "Ensure consistent handling of generated headers/dirs" am: a0d58893fc
Change-Id: I50b47f8244a9c3c432b499b2ef730932794a83e9
2020-02-21 08:34:35 +00:00
Automerger Merge Worker
63f0e96c10 Merge "Do not add dependencies from disabled sdk variants to its members" am: 1c1c6ab46b
Change-Id: I352ae417ed60378f205f9c2358e63699f512a27b
2020-02-21 08:34:25 +00:00
Treehugger Robot
a0d58893fc Merge "Ensure consistent handling of generated headers/dirs" 2020-02-21 08:19:33 +00:00
Treehugger Robot
1c1c6ab46b Merge "Do not add dependencies from disabled sdk variants to its members" 2020-02-21 08:18:25 +00:00