Commit Graph

2576 Commits

Author SHA1 Message Date
Jiyong Park
9f14b9b5df Runtime deps to a stubs lib crosses APEX boundary
When there is a runtime depedency (via runtime_libs property) to a
library providing stable C APIs, the dependency is considered as
crossing APEX boundary. Therefore, the requested lib doesn't need to be
made available to the APEX where the requesting lib is in.

Exempt-From-Owner-Approval: cherry-pick from aosp, approved there.

Bug: 147813447
Test: m
Merged-In: I9cf8a5877850fb85b92c851e15fac921b8b7641b
(cherry picked from commit 323a4c3ab3)
Change-Id: I9cf8a5877850fb85b92c851e15fac921b8b7641b
2020-03-12 03:28:54 +00: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
Nikita Ioffe
643953d170 Merge "Always use "${codename}.${sha}" if UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true" 2020-03-11 17:45:34 +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
Automerger Merge Worker
6dd35a3215 Merge "Apex_available check failure reveals dependency" into rvc-dev am: 5a3899b5c5 am: 0c9541f6f6
Change-Id: I3b3ce6c8df1390fd12f8ac96468afb8544de17fe
2020-03-09 09:23:57 +00:00
Automerger Merge Worker
62cdc4ad57 Merge "Apex_available check failure reveals dependency" into rvc-dev am: 5a3899b5c5
Change-Id: I683d10496836a77d5140031daae27ac71a83c76f
2020-03-09 09:01:38 +00:00
Alexander Dorokhine
466d39a18c DO NOT MERGE: Remove AppSearch from Android R.
Test: presubmit
Bug: 150249538
Merged-In: I0a87b9d893bc76acf5ac5e8684f450b9a4f2a0cd
(cherry picked from commit c9c7116721)
Change-Id: I0a87b9d893bc76acf5ac5e8684f450b9a4f2a0cd
2020-03-09 15:14:42 +09: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
Jooyung Han
ccce2f2c23 Add __ANDROID_SDK_VERSION__=<ver> macro
sdk_version is passed for relevant variants.
If not specified or "current",
it maps to "10000" for platform variants, and
"min_sdk_version" of the apex for apex variants.

Bug: 150860940
Test: m (soong test)
      manually check build.ninja
Change-Id: I5102ab0c5086b5ad29d16ac45af55d32062167b4
2020-03-09 10:46:46 +09:00
Automerger Merge Worker
088ba44801 apex: choose stub according to min_sdk_version am: 03b5185b88 am: 5cf1805a44 am: 344ce5f777 am: 305ffc08d7 am: 964001b0be
Change-Id: I1d881aaca6f7121c277368ad3459485c10d52f56
2020-03-06 20:51:18 +00:00
Automerger Merge Worker
344ce5f777 apex: choose stub according to min_sdk_version am: 03b5185b88 am: 5cf1805a44
Change-Id: Ibe1984b4deaa0681a7339f871d8d3dc62072fe58
2020-03-06 20:13:50 +00:00
Jooyung Han
03b5185b88 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)
Change-Id: I4a0b2002587bc24b7deeb5d59b6eeba5e1db5b1f
2020-03-07 03:12:45 +09:00
Automerger Merge Worker
0d2697146b DO NOT MERGE: Remove AppSearch from Android R. am: c9c7116721
Change-Id: I64870bfc6e92d288ef45ef1194a170ed44e70c2e
2020-03-06 09:37:42 +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
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
Automerger Merge Worker
0540016c0d Merge "Always use "${codename}.${sha}" if UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true" into rvc-dev am: 307dd9f4a5 am: 1466c30540
Change-Id: I9bf20b0dc265391f53830caabdb1b8c91b0516e3
2020-03-04 22:16:37 +00:00
Automerger Merge Worker
aa977980e0 Merge "Always use "${codename}.${sha}" if UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true" into rvc-dev am: 307dd9f4a5
Change-Id: Ieef51877b11ba1637615245ab617e8f7a88fb128
2020-03-04 22:06:30 +00:00