Commit Graph

478 Commits

Author SHA1 Message Date
Jiyong Park
3a0db5ef4e Remove some apex_available whitelist for the adbd APEX
The marked library(ies) were available to the adbd APEX via the
hand-written whitelist in build/soong/apex/apex.go. Trying to remove the
whitelist by adding apex_available property to the Android.bp of the
libraries.

Bug: 150999716
Test: m
Change-Id: I6afbe905dda11056559521b937803dcd85b32fe5
2020-03-20 17:02:14 +09:00
Jiyong Park
541142ce6b Remove some apex_available whitelist
The marked library(ies) were available to the APEXes via the hand-written
whitelist in build/soong/apex/apex.go. Trying to remove the whitelist
by adding apex_available property to the Android.bp of the libraries.

Bug: 150999716
Test: m
Change-Id: I91d1b1076733a949ca2a959ba640ce34d0233492
2020-03-20 17:02:14 +09:00
Jiyong Park
e01e228270 Make ndk_prebuilt_* be available to any apex
The NDK prebuilts are implicitly used when building with sdk_version set.
Make the module types be available to any apex so that we don't need to
manually add apex_available property to the module definitions manually.

Bug: 150999716
Test: m

Change-Id: I0870afa4c74b4a06ab1273dff84615778561ecc9
2020-03-20 17:02:14 +09:00
Tim Joines
d3e1f73e53 Merge "Revert "Share vdex files in the ART apex between architectures (..."" am: 45feb06174 am: d5773388d2 am: a0b20e3c07 am: 4924627639 am: 024480f68b
Change-Id: I133338b59be79a7b9da0f82bb045cf69d51f2dc7
2020-03-18 21:21:41 +00:00
Tim Joines
a0b20e3c07 Merge "Revert "Share vdex files in the ART apex between architectures (..."" am: 45feb06174 am: d5773388d2
Change-Id: Id68571fdfe1b4c5f5120e52ead7f374706a7ec4f
2020-03-18 20:19:19 +00:00
Tim Joines
45feb06174 Merge "Revert "Share vdex files in the ART apex between architectures (..."" 2020-03-18 19:46:48 +00:00
Tim Joines
c1ef1bb5cc Revert "Share vdex files in the ART apex between architectures (..."
Revert submission 1254009-vdex-symlinks

Reason for revert: This causing some devices to fail to boot. See b/151836042 for details.
Reverted Changes:
Iced89071b:Expect vdex files in a target-independent director...
Ifbceb8457:Share vdex files in the ART apex between architect...

Change-Id: I5bd88f8e61d442eed921d840c90777a2750ddb16
2020-03-18 18:00:41 +00:00
Ulyana Trafimovich
23b23a1fe4 Merge "Share vdex files in the ART apex between architectures (via symlinks)." am: 5d2449efe4 am: f985044e23 am: 6d69cfa4a8 am: 9f19e4c480 am: cfa0ad1719
Change-Id: I3e7112294ca8c0da591e2febe8dd81dae481e65f
2020-03-18 14:55:10 +00:00
Ulyana Trafimovich
6d69cfa4a8 Merge "Share vdex files in the ART apex between architectures (via symlinks)." am: 5d2449efe4 am: f985044e23
Change-Id: I01fb1eee33776c09903bd558c0a1cb98d430089b
2020-03-18 14:17:24 +00:00
Ulyana Trafimovich
5d2449efe4 Merge "Share vdex files in the ART apex between architectures (via symlinks)." 2020-03-18 13:46:06 +00:00
Ulya Trafimovich
5b88fe36b5 Share vdex files in the ART apex between architectures (via symlinks).
Test: aosp_walleye-userdebug boots.

Test: Check symlinks to *.vdex files in the ART apex:
$ adb shell 'find /apex/com.android.art -name '*.vdex' | xargs ls -l'
  lrw-r--r-- 1 system system   23 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot-apache-xml.vdex -> ../boot-apache-xml.vdex
  lrw-r--r-- 1 system system   25 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot-bouncycastle.vdex -> ../boot-bouncycastle.vdex
  lrw-r--r-- 1 system system   23 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot-core-icu4j.vdex -> ../boot-core-icu4j.vdex
  lrw-r--r-- 1 system system   24 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot-core-libart.vdex -> ../boot-core-libart.vdex
  lrw-r--r-- 1 system system   19 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot-okhttp.vdex -> ../boot-okhttp.vdex
  lrw-r--r-- 1 system system   12 1970-01-01 01:00 /apex/com.android.art/javalib/arm/boot.vdex -> ../boot.vdex
  lrw-r--r-- 1 system system   23 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot-apache-xml.vdex -> ../boot-apache-xml.vdex
  lrw-r--r-- 1 system system   25 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot-bouncycastle.vdex -> ../boot-bouncycastle.vdex
  lrw-r--r-- 1 system system   23 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot-core-icu4j.vdex -> ../boot-core-icu4j.vdex
  lrw-r--r-- 1 system system   24 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot-core-libart.vdex -> ../boot-core-libart.vdex
  lrw-r--r-- 1 system system   19 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot-okhttp.vdex -> ../boot-okhttp.vdex
  lrw-r--r-- 1 system system   12 1970-01-01 01:00 /apex/com.android.art/javalib/arm64/boot.vdex -> ../boot.vdex
  -rw-r--r-- 1 system system 1229 1970-01-01 01:00 /apex/com.android.art/javalib/boot-apache-xml.vdex
  -rw-r--r-- 1 system system 2043 1970-01-01 01:00 /apex/com.android.art/javalib/boot-bouncycastle.vdex
  -rw-r--r-- 1 system system 2883 1970-01-01 01:00 /apex/com.android.art/javalib/boot-core-icu4j.vdex
  -rw-r--r-- 1 system system  865 1970-01-01 01:00 /apex/com.android.art/javalib/boot-core-libart.vdex
  -rw-r--r-- 1 system system  395 1970-01-01 01:00 /apex/com.android.art/javalib/boot-okhttp.vdex
  -rw-r--r-- 1 system system 7125 1970-01-01 01:00 /apex/com.android.art/javalib/boot.vdex

Bug: 150934453

Change-Id: Ifbceb845749f4c218693f4118e8b35b59ff26de1
2020-03-17 13:36:06 +00:00
Jiyong Park
79505fbf22 Merge "Remove libselinux from the apex_available whitelist" into rvc-dev 2020-03-17 08:29:46 +00:00
Automerger Merge Worker
0a4cf87652 Merge "Remove libselinux from the apex_available whitelist" am: 4f65ea2992 am: 8f93c7e4a8 am: 0fdd1a61da am: d6f3440749 am: 4713ea89c8
Change-Id: I35c4a11b1fd382f8f5c62460489b6574ba428e54
2020-03-17 06:32:42 +00:00
Automerger Merge Worker
0fdd1a61da Merge "Remove libselinux from the apex_available whitelist" am: 4f65ea2992 am: 8f93c7e4a8
Change-Id: Ic2b571ba51a6b6b63143e95cacdb74eb4b69361f
2020-03-17 05:31:20 +00:00
Jiyong Park
7e5576a7b1 Remove libselinux from the apex_available whitelist
libselinux no longer is included in any APEX. Only the platform variant
of it (/system/lib/libselinux.so) exists and APEXes link to it.

Removing the lib name from the whitelist to make it clear that the
library is not available to any APEX.

Bug: 151053366
Bug: 150999716
Test: m

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

Merged-In: Id4fb933141ad32ff5217a58f1c7d689cc657e9ea
(cherry picked from commit 1731f6ae3f)
Change-Id: Id4fb933141ad32ff5217a58f1c7d689cc657e9ea
2020-03-17 05:25:31 +00:00
Treehugger Robot
4f65ea2992 Merge "Remove libselinux from the apex_available whitelist" 2020-03-17 04:55:02 +00:00
Automerger Merge Worker
b0caf616e3 Merge "Allow for overriding container packagename for an Apex." am: c822818147 am: 5b88818470 am: 78c5fa002b am: 047b38e894 am: 693f970cce
Change-Id: I18aed48dc220b69cec89d81a47500abb7152058a
2020-03-17 00:34:53 +00:00
Automerger Merge Worker
78c5fa002b Merge "Allow for overriding container packagename for an Apex." am: c822818147 am: 5b88818470
Change-Id: Ic41a6ec13f3d8dbceda05fb3c330ac5cee01aca5
2020-03-16 23:42:50 +00:00
Baligh Uddin
cb6aa122d8 Allow for overriding container packagename for an Apex.
Test: go test ./... -test.v -run TestOverrideApex
BUG: 148198056
Merged-In: If49042a7acbf9f0dcb505664863d97805902e459
Change-Id: If49042a7acbf9f0dcb505664863d97805902e459
2020-03-16 16:41:11 -07:00
Baligh Uddin
c822818147 Merge "Allow for overriding container packagename for an Apex." 2020-03-16 23:07:31 +00:00
Baligh Uddin
5b57dbad86 Allow for overriding container packagename for an Apex.
Test: go test ./... -test.v -run TestOverrideApex
BUG: 148198056
Change-Id: If49042a7acbf9f0dcb505664863d97805902e459
2020-03-16 12:38:06 -07:00
Jooyung Han
23b0adf4ce apex: Deprecate legacy_android10_support prop
min_sdk_version = 29 implies that the module should support Android10.

Bug: 150431944
Test: m
Merged-In: Iad90a239898f59456900ae7816b90379b1b43406
Change-Id: Iad90a239898f59456900ae7816b90379b1b43406
(cherry picked from commit 5417f775e5)

Exempt-From-Owner-Approval: cp from aosp
2020-03-16 10:57:51 +00:00
Automerger Merge Worker
82659e7ff7 apex: Deprecate legacy_android10_support prop am: 5417f775e5 am: 14b360507a am: 577e719117 am: 417420d29a am: acd40f47e5
Change-Id: Ia1ccd08b282b1645bd072a7269188acb4c0e7672
2020-03-16 05:47:16 +00:00
Automerger Merge Worker
577e719117 apex: Deprecate legacy_android10_support prop am: 5417f775e5 am: 14b360507a
Change-Id: I52872ae44fd2dfc9ef4a299aaf1412ec43e9fd8a
2020-03-16 05:06:18 +00:00
Jooyung Han
5417f775e5 apex: Deprecate legacy_android10_support prop
min_sdk_version = 29 implies that the module should support Android10.

Bug: 150431944
Test: m
Change-Id: Iad90a239898f59456900ae7816b90379b1b43406
2020-03-14 16:03:24 +09:00
Jooyung Han
0c4e016428 apex: choose stub according to min_sdk_version
Native modules within APEX should be linked with proper stub version
according to its min_sdk_version.

For example, when min_sdk_version is set to "29", libfoo in the apex
would be linked to libbar of version 29 from platform, even if it has
a newer version like 30.

Bug: 145796956
Test: m nothing (soong tests)
Merged-In: I4a0b2002587bc24b7deeb5d59b6eeba5e1db5b1f
Change-Id: I4a0b2002587bc24b7deeb5d59b6eeba5e1db5b1f
(cherry picked from commit 03b5185b88)

Exempt-From-Owner-Approval: got ORV already.
2020-03-12 14:07:05 +00:00
Automerger Merge Worker
d56ca57756 Merge changes Iedcff7df,I4cb294c2 am: 001ca325fb am: c6b4caf37e am: 212de176a1 am: 4c09a06227 am: c381f138ea
Change-Id: Iaba9a793d1441942b3f70e016b83c702da89c365
2020-03-12 09:21:33 +00:00
Automerger Merge Worker
212de176a1 Merge changes Iedcff7df,I4cb294c2 am: 001ca325fb am: c6b4caf37e
Change-Id: Id1b12796c0e9ffe050820f295380271bfdab0f42
2020-03-12 08:39:05 +00:00
Jiyong Park
1731f6ae3f Remove libselinux from the apex_available whitelist
libselinux no longer is included in any APEX. Only the platform variant
of it (/system/lib/libselinux.so) exists and APEXes link to it.

Removing the lib name from the whitelist to make it clear that the
library is not available to any APEX.

Bug: 151053366
Bug: 150999716
Test: m
Change-Id: Id4fb933141ad32ff5217a58f1c7d689cc657e9ea
2020-03-12 14:16:07 +09:00
Automerger Merge Worker
8285cb7edd Merge "Remove special handling of test_ apexes" am: f53737fadc am: 784e2e472b am: 8aa853c134 am: 9aec4c5a38 am: 16f001278d
Change-Id: Ifff925320afe7d79de90d2b3399c39a9e8465ca3
2020-03-11 21:15:18 +00:00
Automerger Merge Worker
8aa853c134 Merge "Remove special handling of test_ apexes" am: f53737fadc am: 784e2e472b
Change-Id: I25af68ceb99b50d4d98a99a5af6143ddafcf5b58
2020-03-11 20:31:46 +00:00
Automerger Merge Worker
ebd4ff2305 Merge "Remove special handling of com.android.art.debug/release" am: de77904484 am: 0277cec3bd
Change-Id: I2441e873f40dfe9cc87cae39d0a980d917aa167e
2020-03-11 20:18:23 +00:00
Paul Duffin
7d74e7bea3 Copy white listed apex available settings into snapshot
Makes sure that the module snapshots do not rely on the white list
of apex available settings so that when those lists are removed it is
not necessary to update any snapshots.

Bug: 142935992
Test: m nothing
Change-Id: Iedcff7dfc2646a4da77258d16e06657dd2f411f9
2020-03-11 18:31:45 +00:00
Treehugger Robot
f53737fadc Merge "Remove special handling of test_ apexes" 2020-03-11 17:52:56 +00:00
Treehugger Robot
de77904484 Merge "Remove special handling of com.android.art.debug/release" 2020-03-11 16:46:21 +00:00
Paul Duffin
57380a902e Remove special handling of test_ apexes
Test apexes no longer check to see whether their contents are available
so the special handling is no longer necessary.

Bug: 142935992
Test: m nothing
Change-Id: Iecae7dcbb87908d19c672f74d3c1ed8810d4485b
2020-03-11 15:17:04 +00:00
Paul Duffin
50cbefd5e8 Remove special handling of com.android.art.debug/release
The whitelistedApexAvailable used to map references to
com.android.art.debug/release to com.android.art before looking it up
in the white list. This change removed that mapping and simply added
both to the white list.

Bug: 142935992
Test: m nothing
Change-Id: Ibad76fb73988688eb303e056197986ee9a6119ae
Merged-In: Ibad76fb73988688eb303e056197986ee9a6119ae
2020-03-11 15:16:47 +00:00
Automerger Merge Worker
806ba1dcac Fix path in apex when native_bridge_supported: true am: 35155c4f96 am: 42a3990433 am: aff9ac02b3 am: 281b502144 am: 3e62e45af8
Change-Id: Iacb8ef5f78bbe5274b569b2a7e609e44f575b656
2020-03-11 14:47:06 +00:00
Automerger Merge Worker
aff9ac02b3 Fix path in apex when native_bridge_supported: true am: 35155c4f96 am: 42a3990433
Change-Id: If476ee6e04813eb1dd685473101eb14c68b70e3b
2020-03-11 13:54:23 +00:00
Jooyung Han
35155c4f96 Fix path in apex when native_bridge_supported: true
NativeBridgeRelativePath should be appended after /bin or /lib and
before subdir.

Bug: N/A
Test: m (add a soong test)
Change-Id: Id0c44c66b4900caa291e816cf3361fdec8ff9421
2020-03-11 20:07:34 +09: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
c3a07b85ef Merge "Remove special handling of com.android.art.debug/release" 2020-03-11 05:27:21 +00:00
Automerger Merge Worker
884667ddaa Merge "Fix apex_available" am: 4c8e3509ee am: 192a8f7385 am: fe2d1c6a5a am: 5dc8942706 am: e18f38b4ee
Change-Id: I41e29808e869aaada17a487dc430890f12b9b7be
2020-03-11 01:07:10 +00:00
Automerger Merge Worker
fe2d1c6a5a Merge "Fix apex_available" am: 4c8e3509ee am: 192a8f7385
Change-Id: Iea3359013e011e79acee013f3ce9fc103ee8a166
2020-03-11 00:26:08 +00:00
Jooyung Han
4c8e3509ee Merge "Fix apex_available" 2020-03-10 23:53:41 +00:00
Jooyung Han
5e9013be22 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.

Bug: 151071238
Test: build/boot
Change-Id: I0569ef4bb8e79635e4d97a89f421a8d8b7d26456
2020-03-10 23:52:01 +00:00
Paul Duffin
1ee6520b28 Remove special handling of com.android.art.debug/release
The whitelistedApexAvailable used to map references to
com.android.art.debug/release to com.android.art before looking it up
in the white list. This change removed that mapping and simply added
both to the white list.

Bug: 142935992
Test: m nothing
Change-Id: Ibad76fb73988688eb303e056197986ee9a6119ae
2020-03-10 21:52:32 +00:00
Treehugger Robot
04c93a40f1 Merge "DO NOT MERGE: Remove AppSearch from Android R." 2020-03-10 08:19:05 +00:00
Jiyong Park
65cc4f7777 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
Merged-In: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
(cherry picked from commit 7bd9444b0f)
Change-Id: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
2020-03-09 18:56:54 +09:00
Automerger Merge Worker
163da2de58 Merge "Apex_available check failure reveals dependency" into rvc-dev am: 5a3899b5c5 am: 0c9541f6f6 am: 6dd35a3215 am: 7a6b460571
Change-Id: Ib28418618839f2574a71c18632f82d7928cfd7f6
2020-03-09 09:47:16 +00:00