Commit Graph

80430 Commits

Author SHA1 Message Date
Spandan Das
c77f811f16 Merge "Use the correct prof file when multiple prebuilt apexes exist" into main am: 96feedc555 am: 5c71da429d am: 99387a794b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876755

Change-Id: I535ea20667153e64390241b44ff757fc3651ca60
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:56:47 +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
Colin Cross
e83334e2b3 Merge "Remove cc.moduleContext override of android.ModuleContext.*Specific" into main am: 225ad7e8b2 am: 66fe8f6171 am: b16e2f84d8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880494

Change-Id: I76d05ece9cc99e035d065d9afb8490fff8edc349
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 01:07:09 +00:00
LaMont Jones
d7439041dc Merge "move CollectDependencyAconfigFiles to android" into main am: 4daed5a026 am: d4efb42433 am: 46d4218fd0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883008

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

Change-Id: I4183eca0358a9b88912d10c9404b3a407f79e12a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 00:52:25 +00:00
Colin Cross
b16e2f84d8 Merge "Remove cc.moduleContext override of android.ModuleContext.*Specific" into main am: 225ad7e8b2 am: 66fe8f6171
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880494

Change-Id: I862779449093bfb6d5444d7ec9fdcdc3988d0c1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 00:34:34 +00:00
LaMont Jones
46d4218fd0 Merge "move CollectDependencyAconfigFiles to android" into main am: 4daed5a026 am: d4efb42433
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883008

Change-Id: Ie1afa1c155f1750c41b387e65d2c9da1cd081c39
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-20 00:33:55 +00:00
Spandan Das
96feedc555 Merge "Use the correct prof file when multiple prebuilt apexes exist" into main 2023-12-20 00:02:20 +00:00
Colin Cross
66fe8f6171 Merge "Remove cc.moduleContext override of android.ModuleContext.*Specific" into main am: 225ad7e8b2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880494

Change-Id: Ifac4117922327f7f0efadb39185e6f0d2a2fb611
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 23:48:22 +00:00
LaMont Jones
d4efb42433 Merge "move CollectDependencyAconfigFiles to android" into main am: 4daed5a026
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883008

Change-Id: I4b1bda253715ce3d8e48c0f4fd7537f09eeb2605
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 23:47:42 +00:00
Colin Cross
225ad7e8b2 Merge "Remove cc.moduleContext override of android.ModuleContext.*Specific" into main 2023-12-19 23:39:54 +00:00
LaMont Jones
4daed5a026 Merge "move CollectDependencyAconfigFiles to android" into main 2023-12-19 23:07:50 +00:00
Spandan Das
da739a30a6 Use the correct prof file when multiple prebuilt apexes exist
Generating boot image requires a .prof file provided by the ART apex.
When building with prebuilts, this comes via the
prebuilt_bootclasspath_fragment module, which acts as a shim for
prebuilt_apex/apex_set. If we have multiple prebuilt apexes in the tree,
this shim becomes 1:many. This CL prepares dex_bootjars to select the
right .prof file when multiple prebuilts exist.

Implementation details
- Update deps mutator of dex_bootjars to create a dep on
  all_apex_contributions. The latter contains information about which
  apex is selected in a specific release configuration. dex_bootjars
  will create a dependency on the selected apex in a postdeps phase
  mutator.
- All apex module types (apex, prebuilt_apex and apex_set) will set a
  provider that contains info about the location of the .prof file on
  host
- dex_bootjars will access the provider of the selected apex to get the
  location of the .prof file

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

Bug: 308790457
Test: Added a unit test that checks that the right .prof is selected
when multiple prebuilts exists

Change-Id: I40fdb21416c46bed32f6ff187ce5153711ec2c69
2023-12-19 22:37:29 +00:00
Victor Chang
29064b73a0 Merge "Avoid circular dependency for the aconfig usage in libcore" into main am: a9d3293bf4 am: 8f7e78f8bb am: becc7a90de
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880848

Change-Id: I71465fa451e38cba368a9c48a88a2fb07c013bca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 21:52:26 +00:00
Victor Chang
becc7a90de Merge "Avoid circular dependency for the aconfig usage in libcore" into main am: a9d3293bf4 am: 8f7e78f8bb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880848

Change-Id: I2fda8082a09a6eee3e737259b6770913ea5484b9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 21:05:43 +00:00
Victor Chang
8f7e78f8bb Merge "Avoid circular dependency for the aconfig usage in libcore" into main am: a9d3293bf4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880848

Change-Id: I9e12749d85104b28d322c63c67fb8b1e65d679d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 20:46:38 +00:00
Victor Chang
a9d3293bf4 Merge "Avoid circular dependency for the aconfig usage in libcore" into main 2023-12-19 20:39:03 +00:00
Spandan Das
61342eb61c Merge changes I3323d993,I01cea895 into main am: 349ef87505 am: 2c5f3c7fc1 am: a173731d29
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876754

Change-Id: Id542d9ebfdfee6822aed0352bd8e0c6264a5f3d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 20:14:59 +00:00
LaMont Jones
aa005ae080 move CollectDependencyAconfigFiles to android
This needs to be called by some modules in android.

Bug: 308625757
Test: manual
Change-Id: I389fcfd88a3f4bd85a9218fdd4dd66d8a239bb67
2023-12-19 19:34:00 +00:00
Spandan Das
a173731d29 Merge changes I3323d993,I01cea895 into main am: 349ef87505 am: 2c5f3c7fc1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876754

Change-Id: Ib096242d10e90818fcf1e37e17ac98190a9922c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 19:21:45 +00:00
Spandan Das
2c5f3c7fc1 Merge changes I3323d993,I01cea895 into main am: 349ef87505
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876754

Change-Id: I96ccee0a2833651e4c99c6031e9924c7fef4da7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 18:49:55 +00:00
Spandan Das
349ef87505 Merge changes I3323d993,I01cea895 into main
* changes:
  Move validation from FindDeapexerProviderForModule to rdeps
  Move dexpreopt processing from java_*_import to prebuilt_apex
2023-12-19 18:08:19 +00:00
Treehugger Robot
9b78b40448 Merge "Revert "Show ETA only if it is smart status"" into main am: 2fd4783584 am: b8e45d8431 am: 2adf708ecd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2881848

Change-Id: Ia8ffa2827a1df7e0af8162fd528a216ba3863db9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 17:59:21 +00:00
Treehugger Robot
2adf708ecd Merge "Revert "Show ETA only if it is smart status"" into main am: 2fd4783584 am: b8e45d8431
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2881848

Change-Id: I355a195eede3f35db7c9a5e21599c13bb8b964d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 17:26:11 +00:00
Treehugger Robot
b8e45d8431 Merge "Revert "Show ETA only if it is smart status"" into main am: 2fd4783584
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2881848

Change-Id: I83564c841dde7fc3d8ca1b5524d411a04820aa91
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 16:53:44 +00:00
Treehugger Robot
2fd4783584 Merge "Revert "Show ETA only if it is smart status"" into main 2023-12-19 15:49:57 +00:00
Victor Chang
bf0175ee6a Avoid circular dependency for the aconfig usage in libcore
Bug: 316554963
Test: m droid
Change-Id: I6f45e585b8b656ef7ce1d51bbde0a44898198907
2023-12-19 14:22:07 +00:00
Mårten Kongstad
571ed628c7 Fix broken sdk build (/bin/sh: 1: [[: not found) am: 0a0ea26c60 am: 9ecf7d0a5e am: ab6c07a0b6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880857

Change-Id: I5972fd8dc08a2ae4e5a8d8058a8ab24b4cba5602
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 10:23:16 +00:00
Mårten Kongstad
ab6c07a0b6 Fix broken sdk build (/bin/sh: 1: [[: not found) am: 0a0ea26c60 am: 9ecf7d0a5e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880857

Change-Id: I7f63d55185dfd409617360cfc4e072cd0beddf94
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 09:50:10 +00:00
Mårten Kongstad
9ecf7d0a5e Fix broken sdk build (/bin/sh: 1: [[: not found) am: 0a0ea26c60
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880857

Change-Id: I766134c15a32fb1347a5c10a31df204d4e13848e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 09:19:20 +00:00
Mårten Kongstad
0a0ea26c60 Fix broken sdk build (/bin/sh: 1: [[: not found)
The CL aosp/2878135 introduced a new shell command to be executed as
part of `m sdk dist` builds. The new command incorrectly used bash
syntax for conditionals, i.e. `if [[ ... ]]` (double [[]]) instead of
the POSIX compliant `if [ ... ]` (single []).

This broke the sdk build on systems where /bin/sh is not a symlink to
/bin/bash:

  /bin/sh: 1: [[: not found
  error: lstat out/soong/.intermediates/exported_java_aconfig_library.jar.tmp: file does not exist

Fix the breakage by using POSIX shell syntax instead.

Bug: 316933458
Bug: 311151343
Test: m sdk dist
Change-Id: I7de53261674a8f54c4ecacf0e27aecbafcfa4048
2023-12-19 08:20:51 +01:00
Jeongik Cha
b6d5ff505d Revert "Show ETA only if it is smart status"
Revert submission 2853087

Reason for revert: not necessary

Reverted changes: /q/submissionid:2853087

Change-Id: I747948ce5bec656851bf9a50e136bf7e3aae8df6
2023-12-19 05:44:26 +00:00
Yu Liu
813856a0a5 Merge "Properly package aconfig files for product and system_ext partitions" into main am: 4c27146e4c am: 1c6b1fb260 am: c54dd4848e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880492

Change-Id: Ib2900ee8929ac8f7b29b42da6f600f94f1ea42ae
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 02:31:21 +00:00
Yu Liu
c54dd4848e Merge "Properly package aconfig files for product and system_ext partitions" into main am: 4c27146e4c am: 1c6b1fb260
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880492

Change-Id: I33f8b518186a8aaf7f816d9289636a23c9dcb23b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 01:56:59 +00:00
Yu Liu
1c6b1fb260 Merge "Properly package aconfig files for product and system_ext partitions" into main am: 4c27146e4c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2880492

Change-Id: I6d9b55c441b71e802616dc8a3dabab993987ada7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 01:27:06 +00:00
Yu Liu
4c27146e4c Merge "Properly package aconfig files for product and system_ext partitions" into main 2023-12-19 00:40:03 +00:00
Colin Cross
1017d87801 Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main am: 51428c451a am: de05db0114 am: 503d8ef094
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876767

Change-Id: Ia86e53aa7d97ce150651239b4ac2b211e73e2ca7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 00:36:34 +00:00
Colin Cross
503d8ef094 Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main am: 51428c451a am: de05db0114
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876767

Change-Id: I1f74efab2d1797e56a15713c687c26df7cf9a5f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-19 00:04:26 +00:00
Spandan Das
fae468ef14 Move validation from FindDeapexerProviderForModule to rdeps
FindDeapexerProviderForModule raises an exception if multiple apexes in
the tree has an export dep on the java module. In prepartation to
support multiple prebuilts, move this error check out of
FindDeapexerProviderForModule and into rdeps. i.e. raise an exception
only if an rdep calls DexJarBuildPath

- This should be a no-op for now.
- In the short-term future, a java import module will be allowed to have
  multiple deapexers. An error will be raised if anyone actually tries
  to depend on the dexjar
- In the long-term future, this function will be removed. All processing
  will be done at the prebuilt apex level and not at the prebuilt java
  library level

Since this check now happens in the moduleCtx of rdeps, add some
additional props to unit tests to ensure that it does not exit early on
unrelated validation checks (e.g. hidden_api prop is not set)

Test: go test ./apex ./java
Bug: 308790457

Change-Id: I3323d993c1ea8f43305834cae8e65b6fe41dfefd
2023-12-18 23:19:47 +00:00
Spandan Das
2069c3f74d Move dexpreopt processing from java_*_import to prebuilt_apex
dexpreopt of apex system server from prebuilts involves three soong
modules
1. prebuilt_apex / apex_set
2. an internal deapexer module created by the prebuilt apex
3. java_import/java_sdk_library

(3) acts as a shim for the deapexer to set the dexjar extracted from the
prebuilt apex. This methodolody requires a 1:1 correspondence across the
three modules

This breaks down when we have multiple versions of the same prebuilt
apex in the tree. In preparation for this, move the dexpreopt
processing from (3) to (1). Each prebuilt_apex will create the necessary
rules for dexpreopting the jars deapexed from itself. In the future,
apex_contributions will be used to pick which service-foo.{odex|.vdex} to
install depending on which prebuilt apex is selected.

Implementation details
- Embed dexpreopter in prebuiltApex structs so that this module type can
  register the dexpreopt rules. Since a single apex can have multiple
  system server jars, this also requires creating an additional scope in
  dexpreopt.go to prevent name collisions
- Add the dexpreopt modules as required in initApexFilesForAndroidMk
- Add the depreopt modules to androidMk in AndroidMkEntries. Drop the
  equivalent from java_import and java_sdk_library_import

Bug: 308790457
Test: existing soong unit tests
Test: lunch cf_x86_64_phone-next-userdebug && m out/target/product/vsoc_x86_64/system/apex/com.google.android.adservices.apex
Test: Verified that the above command installs
/out/target/product/vsoc_x86_64/system/framework/oat/x86_64/apex@com.android.adservices@javalib@service-adservices.jar@classes.{odex|vdex} and the equivalent files of service-sdksandbox

Test: presubmits

Change-Id: I01cea8956d2857fb864b415e73d3d2686d069b5e
2023-12-18 23:17:26 +00:00
Colin Cross
de05db0114 Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main am: 51428c451a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876767

Change-Id: I1829e71f021721ec043bda19f12f3fee34044bba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 23:15:42 +00:00
Colin Cross
ea30d85a65 Remove cc.moduleContext override of android.ModuleContext.*Specific
Overriding android.ModuleContext's implementations of *Specific()
methods in cc.moduleContext and then passing that back to
android.PathForModuleInstall to affect the install path causes
problems if android.ModuleBase.GenerateBuildActions also tries
to call android.PathForModuleInstall directly with the
android.ModuleContext as it gets a different result.

Add InstallIn* methods to the android.Module interface, implement
default versions in android.ModuleBase, and override them in
cc.Module and rust.Module.  Use them in android.PathsForModuleInstall
to allow the module to customize the behavior directly.

Test: TestInstallPartition
Change-Id: I7840e07eae34ac4f4d3490b021143d5f33a83626
2023-12-18 15:07:05 -08:00
Yu Liu
22e32f1b0b Properly package aconfig files for product and system_ext partitions
Bug: 311173471
Test: Unit tests
Change-Id: Iac60695beb6529139965e4bb24024df6ce278fb2
2023-12-18 14:44:34 -08:00
Colin Cross
51428c451a Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main
* changes:
  Convert ModuleProvder to generic providers API
  Convert OtherModuleProvider to generic providers API
  Convert Provider to generic providers API
  Convert SetProvider to generic providers API
2023-12-18 22:43:45 +00:00
Mårten Kongstad
4ff029583c Merge "Only include exported flags in android-flags.jar" into main am: 8070c4b457 am: 736f453ddc am: 95cef85f44
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2878135

Change-Id: I278fc9b3ff05893449a07135b1a9f8415e90e420
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 22:06:09 +00:00
Mårten Kongstad
95cef85f44 Merge "Only include exported flags in android-flags.jar" into main am: 8070c4b457 am: 736f453ddc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2878135

Change-Id: I58551e6d4857393ba99f33fb36454f7fcbec1529
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 21:32:23 +00:00
Mårten Kongstad
736f453ddc Merge "Only include exported flags in android-flags.jar" into main am: 8070c4b457
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2878135

Change-Id: Iec7dbbd0b685a6be473bde2d8c79780e5a035c1b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 21:01:16 +00:00
Colin Cross
eef815c2e1 Merge changes from topic "provider_generics" into main am: b2c65a26d6 am: 7e3f9b43de am: 9d661502e6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876763

Change-Id: Ib07311fab95c2318e9f68ea17ca33a8c8de7e035
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 20:43:01 +00:00
Colin Cross
794927bdc7 Use generics for providers API am: 3c0a83d19f am: a471bff29b am: ea6c39e836
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876762

Change-Id: I8cefa5a4a49cf8f4bf698ddaf9e48d6b7f2469f0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 20:42:56 +00:00
Colin Cross
3ba26576b7 Fix TestAarImportProducesJniPackages/aar-no-jni am: e8eeec913f am: a5458ee6ea am: 4fbafd5bda
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876761

Change-Id: I70c572e137e7916e9075dc7c02c848ae9f480dc1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-18 20:42:51 +00:00