Commit Graph

77434 Commits

Author SHA1 Message Date
Spandan Das
352d2b2719 Use the correct bootjars for hiddneapi when multiple prebuilts exist am: 64c9e0ce6e am: 9d358f9fb0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889086

Change-Id: I3c3d35e082e69d64348979729feab4fdcfa7d83f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-02 19:52:21 +00:00
Spandan Das
9d358f9fb0 Use the correct bootjars for hiddneapi when multiple prebuilts exist am: 64c9e0ce6e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889086

Change-Id: I3a8f5751962ddd8a8036099c42071b13e8223a72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-02 19:27:04 +00:00
Spandan Das
64c9e0ce6e Use the correct bootjars for hiddneapi when multiple prebuilts exist
hiddenapi processing require boot jars from apexes to determine the full
set of methods available at runtime.
When building with prebuilts, this comes via
java_import/java_sdk_library_import, which acts as a hook for
prebuilt_apex/apex_set. If we have multiple apexes in the tree, this
hook becomes 1:many. This CL prepares platform_bootclasspath to select the right
deapexerd .jar files when mutliple prebuilts exist.

Implementation details
- Create a dependency edge from platform_bootclasspath to
  all_apex_contributions (DepsMutator)
- For every boot jar, query all_apex_contributions to get the path to
  dexjar file (GenerateAndroidBuildActions)

Some other important details
- This CL does not drop the old mechanism to get the dex file (i.e. by
creating a dep on java_library). Once all mainline
modules have been flagged using apex_contributions, the old mechanism
will be dropped
- This CL has a functional change when building with source apexes. At
  ToT, the unecoded hiddenapi dex jar is used for package check and
  generating the monolithic stub file. After this change, the hiddenapi
  encoded file will be used for these operations.
  This should be fine since the
  package and dex signature do not change across the encoded and
  unencoded dex file. In fact, we already have a split today. When
  building with prebuilts, we use the encoded dex file. When building
  with source, we use the unecoded dex file.

Test: Added a unit test
Test: Manual testing in internal described below
- lunch cf_x86_64_phone-next-userdebug
- flagged com.google.android.adservices using apex_contributions
- aninja -t commands out/soong/hiddenapi/hiddenapi-stubs-flags.txt # no
  diff before and after
Bug: 308790777

Change-Id: I72c70f0ae1b587679203ea254c9c12a48e7aa782
2024-01-02 17:56:14 +00:00
Colin Cross
311dbfc484 Merge changes I152f8e5e,I3259a9b8 into main am: ad579a8c71 am: bdd32f0951
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889112

Change-Id: I663ea8422e4138d1eabd8878894e78f510c9c535
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-22 18:50:18 +00:00
Colin Cross
bdd32f0951 Merge changes I152f8e5e,I3259a9b8 into main am: ad579a8c71
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889112

Change-Id: I01c0c2e9f65e08896da0ffc36381d8ace36e3085
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-22 18:19:51 +00:00
Colin Cross
ad579a8c71 Merge changes I152f8e5e,I3259a9b8 into main
* changes:
  Reland "Remove non-generic provider APIs"
  Update usage of SetProvider
2023-12-22 17:40:00 +00:00
Colin Cross
24c1cbe63e Reland "Remove non-generic provider APIs"
There are no more callers to the non-generic provider APIs, remove them.

This reapplies I4d336340e630643f98531787a81e0f1f18ec108d after
I79736e44d85bc6e8c97f08ebf783b40533a3e6ae removed a newly introduced
usage.

Bug: 316410648
Change-Id: I152f8e5ef8330b811d3f42f8c2c73943ac0979bb
Test: builds
2023-12-22 00:06:05 +00:00
Spandan Das
a41b8ecc62 Update usage of SetProvider
Test: go build ./apex (top of stack)
Change-Id: I3259a9b88c6a22f94e41ef43e2c42d9ea56c2afb
2023-12-22 00:06:05 +00:00
Treehugger Robot
d6ddb7d092 Merge "Remove usage of OtherModuleHasProvider in dexpreopt_bootjars" into main am: 71790b154d am: 0f013bcbcf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883015

Change-Id: Ic7041f55b23c8e3acbfada5d9e5c231e0a6c0cff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:48:46 +00:00
Ludovic Barman
d64d46a89d Merge "Remove unused use_protobuf3 flag" into main am: aa5d9b43f9 am: ebd48b08ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2879266

Change-Id: I143d57c87248e0f8833339c61ebdcaf138b06cb2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:48:35 +00:00
Spandan Das
22688ed5ed Merge "Drop libprofile modules from baselinseApexAvailable map" into main am: c7acd4858b am: 387dbf5bc1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889247

Change-Id: Ia165243f9869a75efaca3aedf579a672337047d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:48:21 +00:00
Treehugger Robot
0f013bcbcf Merge "Remove usage of OtherModuleHasProvider in dexpreopt_bootjars" into main am: 71790b154d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883015

Change-Id: I6039556d4ebc8e93bc79f85aec0ddf9c296de04d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:17:19 +00:00
Ludovic Barman
ebd48b08ca Merge "Remove unused use_protobuf3 flag" into main am: aa5d9b43f9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2879266

Change-Id: I509a429e8ad08f7fa21d8cfe7fd7d8e1a83cbd31
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:17:08 +00:00
Spandan Das
387dbf5bc1 Merge "Drop libprofile modules from baselinseApexAvailable map" into main am: c7acd4858b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889247

Change-Id: If5a0f930c0d2d81669278963f6148e3ab0b8f62a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 22:16:56 +00:00
Treehugger Robot
71790b154d Merge "Remove usage of OtherModuleHasProvider in dexpreopt_bootjars" into main 2023-12-21 21:58:53 +00:00
Ludovic Barman
aa5d9b43f9 Merge "Remove unused use_protobuf3 flag" into main 2023-12-21 21:57:45 +00:00
Spandan Das
c7acd4858b Merge "Drop libprofile modules from baselinseApexAvailable map" into main 2023-12-21 21:46:22 +00:00
Spandan Das
3858202715 Drop libprofile modules from baselinseApexAvailable map
The implicit //apex_available:anyapex seems to be unused, so we can drop
it

Bug: 281077552
Test: m nothing
Change-Id: I66fef50901bfd19237a9ef96b169ecefa01d76b9
2023-12-21 20:18:48 +00:00
Treehugger Robot
c6a060011e Merge "Change aconfig dump to aconfig dump-cache" into main am: a514919521 am: 0181efacf9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2888466

Change-Id: Ic821adf488c99017f1880acd740bab3a457cf5e9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 20:09:36 +00:00
Treehugger Robot
0181efacf9 Merge "Change aconfig dump to aconfig dump-cache" into main am: a514919521
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2888466

Change-Id: I0a0107037ec1b1b2bc825a7a7cb223e8053c5d58
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 19:19:46 +00:00
Treehugger Robot
52d0ba81cd Merge "Change target platform to LINUX-OTHER" into main am: bdfb169e90 am: 8d1a67806a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2887966

Change-Id: I7e47e3e6c85e16a4f347e43de0168f298f3dea3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 18:46:36 +00:00
Treehugger Robot
a514919521 Merge "Change aconfig dump to aconfig dump-cache" into main 2023-12-21 18:38:54 +00:00
Treehugger Robot
8d1a67806a Merge "Change target platform to LINUX-OTHER" into main am: bdfb169e90
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2887966

Change-Id: I019f20e8720e54858abcea1090cc03e4edb3e17b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 18:03:09 +00:00
Ludovic Barman
78b2519e19 Remove unused use_protobuf3 flag
This is a No-op.
Protobuf3 is used regardless of this flag since https://android-review.git.corp.google.com/c/platform/build/soong/+/2817733

Test: m rust

Bug: 308790516
Change-Id: I1bfbca5d8a30e4e10f03e4e045d6c6ceddb30c87
2023-12-21 17:53:51 +00:00
Treehugger Robot
bdfb169e90 Merge "Change target platform to LINUX-OTHER" into main 2023-12-21 17:30:08 +00:00
Mårten Kongstad
c479c026f1 Change aconfig dump to aconfig dump-cache
Update the calls to dump aconfig caches; the new canonical name is
`dump-cache`, though `dump` is still an accepted alias (for now).

Bug: N/A
Test: m all_aconfig_declarations && printflags
Change-Id: I9f82d31666ced6bbd0f195f1422590547114e0f0
2023-12-21 16:49:11 +01:00
Sorin Basca
088e079803 Change target platform to LINUX-OTHER
This is needed to be compatible with JDK 21+ which does not allow
other platforms (apart from the ones listed in the modules
plugin) when linking a system image.

Note the value of target platform doesn't matter to us, we just
choose a closest one to replace "android".

Bug: 313924276
Test: m EXPERIMENTAL_USE_OPENJDK21_TOOLCHAIN=true
Change-Id: Id805f31089fdbd78bf4db06c89ae391f25563448
2023-12-21 11:49:35 +00:00
Søren Gjesse
b06eeb51fc Merge "Remove setting com.android.tools.r8.emitRecordAnnotationsExInDex" into main am: c97dfe42b9 am: fa139b17f9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2881155

Change-Id: I1711a56fa1b4078a9c81fc484ad165eeffae4c28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 10:57:42 +00:00
Søren Gjesse
fa139b17f9 Merge "Remove setting com.android.tools.r8.emitRecordAnnotationsExInDex" into main am: c97dfe42b9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2881155

Change-Id: I3edce9779893e039c78c2e410d7de7cf1bdd9b7c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 10:28:51 +00:00
Søren Gjesse
c97dfe42b9 Merge "Remove setting com.android.tools.r8.emitRecordAnnotationsExInDex" into main 2023-12-21 09:47:47 +00:00
Mårten Kongstad
424913c372 Merge "Replace aconfig dump --format=bool with explicit format string" into main am: 26d2c67339 am: ee05861ce3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2882369

Change-Id: Ib6a89c0a4178a518cad068fc54806dd8e1719f36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 08:13:52 +00:00
Mårten Kongstad
ee05861ce3 Merge "Replace aconfig dump --format=bool with explicit format string" into main am: 26d2c67339
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2882369

Change-Id: Ic601a9f8e8ad4c49bcbb850e7eecace98e4e501f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 07:43:16 +00:00
Mårten Kongstad
26d2c67339 Merge "Replace aconfig dump --format=bool with explicit format string" into main 2023-12-21 07:03:38 +00:00
Spandan Das
4cf8303b55 Merge "Use the correct bootjars when multiple prebuilt apexes exist" into main am: 412b33a6e7 am: ec7918d041
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876756

Change-Id: I536ad98aab77a8c93dea5cf907befe2be7aa24e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 19:33:02 +00:00
Cole Faust
01f5a51d30 Merge "Sandbox chre_atoms_log.h" into main am: 9734cff08c am: 35555ba1df
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880464

Change-Id: I33db83d4f63c414ad22f8c14a40a7b60f30486b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 19:32:43 +00:00
Spandan Das
ec7918d041 Merge "Use the correct bootjars when multiple prebuilt apexes exist" into main am: 412b33a6e7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876756

Change-Id: If24b610990f7fdd198d4668a94a818301362eb55
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 19:18:47 +00:00
Cole Faust
35555ba1df Merge "Sandbox chre_atoms_log.h" into main am: 9734cff08c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880464

Change-Id: I8054c675ef38c294b19d35e1d8ac1e68f7344144
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 19:02:09 +00:00
Spandan Das
412b33a6e7 Merge "Use the correct bootjars when multiple prebuilt apexes exist" into main 2023-12-20 19:00:49 +00:00
Cole Faust
9734cff08c Merge "Sandbox chre_atoms_log.h" into main 2023-12-20 18:43:12 +00:00
Spandan Das
5be6333692 Use the correct bootjars when multiple prebuilt apexes exist
hiddenapi and dexpreopt require boot and system server jars from apexes.
When building with prebuilts, this comes via
java_import/java_sdk_library_import, which acts as a hook for
prebuilt_apex/apex_set. If we have multiple apexes in the tree, this
hook becomes 1:many. This CL prepares dex_bootjars to select the right
deapexerd .jar files when mutliple prebuilts exist.

Implementation details
- Update prebuilt module types (prebuilt_apex/apex_set) and source
  apexes to set a map of
  library name to dex jar path on host.
- dex_bootjars will access the path of the .dex jar on host via the
  provider. These then
  copied/installed to the right locations.

This CL does not drop the old mechanism to get the dex file (i.e. by
creating a dep on java_library). Once all mainline
modules have been flagged using apex_contributions, the old mechanism
will be dropped

Bug: 308790457
Test: git_master-art-host:art-gtest https://android-build.corp.google.com/builds/abtd/run/L21500030000926533
Test: git_main:art_standalone_dexpreopt_tests https://android-build.corp.google.com/builds/abtd/run/L99000030000891212
Test: Added a unit test that checks that the right .jar is selected
when multiple prebuilts exists

Change-Id: I6ef94135b9303a35135810930af4b641df13a583
2023-12-20 16:43:01 +00:00
David Srbecky
1c35415ae1 Merge "Revert^6 "Enable dex container (DEX v41) for the whole system"" into main am: f01e2f7308 am: 209834dd38
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2878966

Change-Id: Ie3be38bb2adc78992e343896a8acdecf2c591ec3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 02:28:42 +00:00
Cole Faust
5d75893692 Merge changes I8b352305,Iadf9e324 into main am: 30e32f67fc am: 9c2308ba03
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883010

Change-Id: Ieb0c232324c6ab4424d2bed0bfa53340ba824bdc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 02:27:40 +00:00
David Srbecky
209834dd38 Merge "Revert^6 "Enable dex container (DEX v41) for the whole system"" into main am: f01e2f7308
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2878966

Change-Id: I6d28bdd97dd499d6cfd1a490bdd7a38dc0a92194
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 02:00:12 +00:00
Cole Faust
9c2308ba03 Merge changes I8b352305,Iadf9e324 into main am: 30e32f67fc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883010

Change-Id: I0d6b0212a87797d6334f55319263044e03b4d685
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:59:54 +00:00
David Srbecky
f01e2f7308 Merge "Revert^6 "Enable dex container (DEX v41) for the whole system"" into main 2023-12-20 01:37:06 +00:00
Cole Faust
30e32f67fc Merge changes I8b352305,Iadf9e324 into main
* changes:
  Sandbox CtsApkVerityTestDebugFiles
  Include "soong" in sandboxed out paths
2023-12-20 01:35:40 +00:00
Spandan Das
bc114d2ff9 Remove usage of OtherModuleHasProvider in dexpreopt_bootjars
Since OtherModuleHasProvider will be deprecated soon, replace it with OtherModuleProvider

Test: go build ./java
Change-Id: I79736e44d85bc6e8c97f08ebf783b40533a3e6ae
2023-12-20 01:27:29 +00:00
Colin Cross
cb6304b4ef Merge "Revert "Remove non-generic provider APIs"" into main am: a4cca85eea am: fde5a49cef
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2882901

Change-Id: I1126b5c8c7dcaf2082f1925c337534fdfa38f845
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:23:57 +00:00
Colin Cross
fbf7038826 Merge "Remove non-generic provider APIs" into main am: e87e278086 am: a6c0da77a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876768

Change-Id: I5fa5fd147dd3cbba4e95ba3d054dc825dd7f7438
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:23:43 +00:00
Spandan Das
99387a794b Merge "Use the correct prof file when multiple prebuilt apexes exist" into main am: 96feedc555 am: 5c71da429d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876755

Change-Id: Ie6d447b6daa26d41f3b7ff72e1b0088790d53dc0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:23:06 +00:00