Commit Graph

822 Commits

Author SHA1 Message Date
Treehugger Robot
93480617f7 Merge "Rename ApexName to ApexVariationName" am: a07777d434 am: be9a9035f2 am: 11ff8974eb am: 30bcd5efde am: 87733af000
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1399831

Change-Id: Iebb18f17f745570384d883a1d98f37a80fed3ec5
2020-08-15 07:35:11 +00:00
Treehugger Robot
11ff8974eb Merge "Rename ApexName to ApexVariationName" am: a07777d434 am: be9a9035f2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1399831

Change-Id: I31f1d4eedbad29ac1562834ea70eb52e0c543ecd
2020-08-15 07:02:47 +00:00
Treehugger Robot
a07777d434 Merge "Rename ApexName to ApexVariationName" 2020-08-15 06:43:52 +00:00
Treehugger Robot
f019a14a84 Merge "Update ApexAvailableBaseline" am: 52cefc00f7 am: 1efeaa552c am: 33e3c3f94c am: ef4471483b am: 2a22fb207c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1396192

Change-Id: Iaad93c8be6c3d63f0c9b9f94e3c9eb5ab1a449c0
2020-08-14 05:12:55 +00:00
Treehugger Robot
33e3c3f94c Merge "Update ApexAvailableBaseline" am: 52cefc00f7 am: 1efeaa552c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1396192

Change-Id: I4c2f21c16c21f134df2b2b00f84c7b66f6a16fc1
2020-08-14 04:11:52 +00:00
Colin Cross
e07f2316b7 Rename ApexName to ApexVariationName
In preparation for reusing the same variation for multiple apexes,
rename ApexName to ApexVariationName.

Bug: 164216768
Test: all soong tests
Change-Id: I88f2c5b192ffa27acd38e01952d0cefd413222a0
2020-08-13 17:50:29 -07:00
Jeongik Cha
839fc6659c Update ApexAvailableBaseline
Remove ipmemorystore-aidl-interfaces-java in allowlist for
com.android.tethering

Bug: 146436251
Test: m nothing
Change-Id: I8b7f97d59c2fd191f467ad50a8fd66d9a5d37704
2020-08-11 13:07:18 +09:00
Jooyung Han
fd14bf1a61 Merge "apex: set ":vndk" as required for vendor apexes" am: b0c4d3b319 am: feb217de25 am: db457de0dd am: 3efdf3d287 am: 69676d264e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1376856

Change-Id: I3d97f4450bb927ae413ab7fbf59fe480c69c47cd
2020-07-30 01:25:15 +00:00
Jooyung Han
db457de0dd Merge "apex: set ":vndk" as required for vendor apexes" am: b0c4d3b319 am: feb217de25
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1376856

Change-Id: I4c3a194b68df9245ca0f39fc938e01acab4443a3
2020-07-30 00:30:36 +00:00
Jooyung Han
b0c4d3b319 Merge "apex: set ":vndk" as required for vendor apexes" 2020-07-30 00:00:44 +00:00
Paul Duffin
f289d09d9f Merge "Avoid creating APEX variant for sdk member" am: f91079f120 am: 89a55fdeab am: ce0832b6b4 am: fe20c26f23 am: 9b0e811a7d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1371417

Change-Id: Ib196b8d31dc8a5c6a1b83e8b13860eb0618c6f5a
2020-07-29 12:56:32 +00:00
Paul Duffin
ce0832b6b4 Merge "Avoid creating APEX variant for sdk member" am: f91079f120 am: 89a55fdeab
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1371417

Change-Id: I2f78788711e46680321dbf926d63b308ec631bec
2020-07-29 12:05:41 +00:00
Paul Duffin
f91079f120 Merge "Avoid creating APEX variant for sdk member" 2020-07-29 11:33:12 +00:00
Jooyung Han
6c4cc9ce23 apex: set ":vndk" as required for vendor apexes
When a vendor APEX sets use_vndk_as_stable: true, then the apex doesn't
bundle VNDK libraries but instead it uses them from the "vndk" namespace
at runtime.

":vndk" is a pseudo-name for VNDK libraries, which is processed by
linkerconfig so that the generated linker configuration allows the
namespace for the apex to access VNDK libs.

Bug: 159576928
Test: test with a test-only vendor apex
      it runs okay with VNDK libs. (lsof shows that it opens libs from
      VNDK APEX)
Change-Id: I924ce0fea696162575f59589b8f858deddf436b3
2020-07-29 16:00:54 +09:00
Treehugger Robot
e6dc3252b5 Merge "Add apex.use_vndk_as_stable property" am: 4514d96e18 am: 23b4b611ce am: 24387e75b6 am: e6533cd15b am: 61c5710359
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1369777

Change-Id: I62ffe94d9810998395a05f4790143dafed41bc07
2020-07-29 02:41:25 +00:00
Treehugger Robot
24387e75b6 Merge "Add apex.use_vndk_as_stable property" am: 4514d96e18 am: 23b4b611ce
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1369777

Change-Id: Ie89bff6ef687936a825c050c2cb1a4296ed7a458
2020-07-29 01:45:57 +00:00
Treehugger Robot
4514d96e18 Merge "Add apex.use_vndk_as_stable property" 2020-07-29 01:27:46 +00:00
Yo Chiang
6201c3a8cc Merge "Use BaseModuleName() + SubName as apexFile.moduleName" am: 060dc0bea2 am: bc2647f97b am: cb7fa1a353 am: 4e62d37eda am: 3c5564ceff
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1371679

Change-Id: I7d0dc04f522b836aa4e61d07f66f5e65427b5a9b
2020-07-28 12:32:28 +00:00
Yo Chiang
cb7fa1a353 Merge "Use BaseModuleName() + SubName as apexFile.moduleName" am: 060dc0bea2 am: bc2647f97b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1371679

Change-Id: I7413e68bdac18091ee1146e6536e97bb55df1ad5
2020-07-28 11:46:55 +00:00
Jooyung Han
df78e216a8 Add apex.use_vndk_as_stable property
Vendor APEXes(in general, APEXes for non-system partitions) which is
supposed to be tied to a specific VNDK version can set this new property
so that it excludes VNDK libs and use them from VNDK APEX (provided by
system parition).

For these APEXes to use VNDK libs from VNDK APEX, linkerconfig should
link "vndk" linker namespace to the namespaces of these APEXes.

Bug: 159195575
Test: m (soong test added)
Change-Id: If90650973239ef7aab0ff084488bda57d9b0364e
2020-07-27 11:36:52 +09:00
Treehugger Robot
8f27c4e612 Merge "Build transitive lint reports for apex modules" am: 13aa44fc15 am: 5388d97b37 am: 4826c2668d am: 7df9fd8e51 am: d99ca92460
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1370779

Change-Id: I8449eb661077630f03455bc90a9b1547aeb09e4d
2020-07-24 12:53:47 +00:00
Treehugger Robot
4826c2668d Merge "Build transitive lint reports for apex modules" am: 13aa44fc15 am: 5388d97b37
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1370779

Change-Id: I08069e90ec451f09aa7bbea3e8b4834d6cb7ef67
2020-07-24 12:16:40 +00:00
Yo Chiang
e812805e75 Use BaseModuleName() + SubName as apexFile.moduleName
This change fixes this error:
```
TARGET module com.android.adbd.flattened requires non-existent TARGET
module: prebuilt_libclang_rt.ubsan_standalone-arm-android
```

apexFile.moduleName is used as Make dependency name, so it should use
m.BaseModuleName() instead of m.Name(), because soong may prepend
"prebuilt_" to or mutate the output of m.Name() in other ways.

android/androidmk.go emits Android.mk modules with
`LOCAL_MODULE := module.BaseModuleName() + <SubName>`, so replace
apexFile.moduleName with BaseModuleName() + <SubName> as much as
possible.

Bug: 7456955
Test: Add unit test in apex/apex_test.go
Test: lunch blueline_hwasan && SANITIZE_TARGET='hwaddress fuzzer' m nothing
Test: Verify out/soong/Android-blueline_hwasan.mk
Change-Id: If8537fc1bedbe6c3405de3662a5df210a073c43f
2020-07-24 20:05:20 +08:00
Treehugger Robot
13aa44fc15 Merge "Build transitive lint reports for apex modules" 2020-07-24 11:50:39 +00:00
Treehugger Robot
57435ab685 Merge "apexDepsMutator uses WalkDeps" am: e8bc288702 am: 6b3adfad17 am: 6528e9c7ab am: cadc52e391 am: f0cbb33b64
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1369776

Change-Id: Iff055618fb36b2693d7104dbb588b40172c73b9a
2020-07-24 10:39:26 +00:00
Paul Duffin
a37eca27c8 Avoid creating APEX variant for sdk member
Previously, an APEX variant was created for a module that was a member
of an SDK just in case it had to be replaced with an APEX requested
snapshotted version of that member. That was necessary because that was
the only way to have APEX specific replacements.

Since then a new method called ReplaceDependenciesIf() has been added
which provides fine grained control over which dependencies are
replaced. This change uses that new method to handle the replacements
which allows the APEX variants to be removed.

Bug: 161928524
Test: m nothing
Change-Id: If3869dd6753dc182b099af566b20fbc9c9c6eff7
2020-07-24 11:10:10 +01:00
Treehugger Robot
6528e9c7ab Merge "apexDepsMutator uses WalkDeps" am: e8bc288702 am: 6b3adfad17
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1369776

Change-Id: Iae6756d1e810734676fbbb10f41a6bb3cfb49624
2020-07-24 09:52:37 +00:00
Jooyung Han
698dd9f007 apexDepsMutator uses WalkDeps
apexDepsMutator marks all dependencies of apex modules. Previously, it
was converted from WalkDeps() to Top-down mutator to avoid the pitfall
of WalkDeps() bug. (It did't handle multiple visits via different
paths.)

Because WalkDeps() problem solved in aosp/1277516, apexDepsMutator can
be reverted to use WalkDeps().

Even though there's no observable difference between them, I revert this
for the up-coming change, which requires different pruning strategies
per apexes.

Bug: 159195575
Test: m
Change-Id: Ib09cbc7a3dfd143dd37b660b1aea6c71392ce2e3
2020-07-23 13:54:50 +09:00
Colin Cross
08dca38eb0 Build transitive lint reports for apex modules
Build and export transitive lint report zips for apex modules.

Bug: 153485543
Test: m TARGET_BUILD_APPS=com.google.android.wifi lint-check dist
Change-Id: I5a1805440452301a7e2c4ca91482b989638b54fb
2020-07-22 20:16:14 -07:00
Christopher Parsons
1901959274 Merge "Install data_libs using relative_install_path property" am: fef9d4b601 am: 4a016f49a9 am: 39e1f73131 am: dc52de4058 am: a42b2aac34
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1359742

Change-Id: Ie1fcfbe935158b327827cf562024370807934760
2020-07-21 18:57:50 +00:00
Christopher Parsons
39e1f73131 Merge "Install data_libs using relative_install_path property" am: fef9d4b601 am: 4a016f49a9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1359742

Change-Id: I29f194fa1649a4f36f81f62d0c47c595e07994f5
2020-07-21 18:11:31 +00:00
Christopher Parsons
fef9d4b601 Merge "Install data_libs using relative_install_path property" 2020-07-21 17:26:57 +00:00
Chris Parsons
216e10a0f6 Install data_libs using relative_install_path property
Test: Added to data_libs tests
Test: Manually verified with bionic-unit-tests
Test: Treehugger
Change-Id: I28a8e08e3409f1e7c7bb72f4351310b57f35f513
2020-07-20 13:59:24 -04:00
Treehugger Robot
2e5bd33847 Merge "apex_set is force disabled when necessary" am: f70ceecc4c am: 005a5724ca am: 615d01cae9 am: bd13ffdc35 am: d392ec8d1c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1364697

Change-Id: I190f13a8a4436c18a8197a065f192d376b77e7dc
2020-07-20 02:25:47 +00:00
Treehugger Robot
615d01cae9 Merge "apex_set is force disabled when necessary" am: f70ceecc4c am: 005a5724ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1364697

Change-Id: Iee2b6e2c90304339df052806ea5e727ba7fffdab
2020-07-20 01:50:32 +00:00
Jiyong Park
10e926bc8d apex_set is force disabled when necessary
prebuilt_apex has been disabled when the device is configured for
flattened APEXes, sanitized, instrumented, or built unbundled. However,
apex_set which is another type of APEX prebuilt wasn't disabled for the
same conditions.

This change fixes the discripency. apex_set modules are also force
disabled when the prebuilts are not expected.

Bug: 161316762
Bug: 160933444
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m
The built image has only the flattened APEXes and the device boots

Change-Id: I6c90dfb28d565861a473a1bdce93269ec370601d
2020-07-17 12:37:16 +09:00
Treehugger Robot
57a428085e Merge changes Iefcf4fbe,I450d4769,I1ffc7e7b am: 2c79c871d9 am: 3757864b5f am: 0f472e62f9 am: d0a71cfc12 am: 0dfb92432e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1354643

Change-Id: Ic45c69f64ac0f82d229de78c026fe7a316728cd9
2020-07-09 13:31:34 +00:00
Treehugger Robot
0f472e62f9 Merge changes Iefcf4fbe,I450d4769,I1ffc7e7b am: 2c79c871d9 am: 3757864b5f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1354643

Change-Id: I35b96bffc99f9066982e6ea99332fb84c8f7a840
2020-07-09 12:56:24 +00:00
Martin Stjernholm
58c33f073d Do not follow prebuiltDependencyTags in APEX payload walks.
If prebuilts are active they will have the other direct dependencies
from the source modules.

Bug: 151303681
Test: m nothing
Test: `m` with prebuilts/runtime in the manifest (along with other
  fixes)
Change-Id: I1ffc7e7b528ed9db5ce6ca2ee96c9d23c6548c49
2020-07-07 18:12:41 +01:00
Treehugger Robot
a3543ddcc5 Merge changes Ifd2858dd,I2585dd99,I65e7a456 am: 0c6f111d7b am: d6b1515935 am: 08c3d0cf7f am: cb98726ff1 am: c4f4cb338e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348951

Change-Id: Ibaf2cfc38e688bfd77ceb4698008af9e63599934
2020-06-29 03:23:19 +00:00
Treehugger Robot
08c3d0cf7f Merge changes Ifd2858dd,I2585dd99,I65e7a456 am: 0c6f111d7b am: d6b1515935
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348951

Change-Id: Idcc16a40f953019278ea34829ca297a353da0820
2020-06-29 02:47:14 +00:00
Treehugger Robot
0c6f111d7b Merge changes Ifd2858dd,I2585dd99,I65e7a456
* changes:
  apex: use SubName for requiredDeps
  apex: support "vendor: true"
  apex: AndroidMk writes common properties
2020-06-29 02:20:56 +00:00
Automerger Merge Worker
6b0cb97704 Merge "Merge "Disable flattening only for unbundled apps." am: c4fe0dd3cc am: a77dc06b2b am: 59c19b3585 am: 3ae8e020a1" into rvc-qpr-dev-plus-aosp am: 572921a8e1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348984

Change-Id: Ic3de41d4da83e16ddcc94cd92db8c02ced0f61f4
2020-06-25 14:52:22 +00:00
Martin Stjernholm
59c19b3585 Merge "Disable flattening only for unbundled apps." am: c4fe0dd3cc am: a77dc06b2b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348984

Change-Id: If1a7768da1c1b652ec89acca4e948cc76bcb064e
2020-06-25 14:21:22 +00:00
Martin Stjernholm
c4fe0dd3cc Merge "Disable flattening only for unbundled apps." 2020-06-25 13:49:30 +00:00
Jooyung Han
efb184e499 apex: use SubName for requiredDeps
apexBundle keeps the required dependencies for native modules which are
external dependencies and then records it in .mk file as
LOCAL_REQUIRED_MODULES key.

LOCAL_REQUIRED_MODULES should list module name which are made of
cc.BaseModuleName() + SubName.

By the way, because a use_vendor:true apex is supposed to be installed
in /system/apex, we don't append SubName(.vendor) suffix.

Bug: 159211312
Bug: 155841765
Test: m
Change-Id: Ifd2858dda0b373110a0cd18a0c55db41f0fc2a99
2020-06-25 17:14:25 +09:00
Jooyung Han
a57c2f79c0 Merge "apex: add apex_manifest.pb in file_contexts" am: dd85fd89b0 am: 5b811c02e2 am: 7b5284bf33 am: b0e32140ea am: badf723cf3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348942

Change-Id: I087ec52de63e7854f9df49e8e5011a354353942a
2020-06-25 07:33:25 +00:00
Jooyung Han
7b5284bf33 Merge "apex: add apex_manifest.pb in file_contexts" am: dd85fd89b0 am: 5b811c02e2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348942

Change-Id: I558889c69e09e79455b75c4399826fcaab9101fc
2020-06-25 06:54:28 +00:00
Jooyung Han
85d61767b5 apex: support "vendor: true"
When an apex sets "vendor: true", it becomes a vendor apex.

Vendor apexes use vendor variants for native modules and are
installed in /vendor/apex.

Bug: 159211312
Test: m
Change-Id: I2585dd990ba857a2ab3ec6ab24e09d4652e867f2
2020-06-25 15:37:47 +09:00
Jooyung Han
dd85fd89b0 Merge "apex: add apex_manifest.pb in file_contexts" 2020-06-25 06:21:40 +00:00