Commit Graph

1463 Commits

Author SHA1 Message Date
Spandan Das
3961bb8fb2 Merge "Remove prebuilt_apex_module_creator mutator" into main am: edefa90d42 am: faa827deee
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3277436

Change-Id: I7354bcbc135ac73577c4a35005e69c7507892fab
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-24 02:56:09 +00:00
Spandan Das
edefa90d42 Merge "Remove prebuilt_apex_module_creator mutator" into main 2024-09-24 01:49:31 +00:00
Chan Wang
6dbdccea4a Merge "Temporarily bypass apex availability check for /product apexes with a specific prefix" into main am: 3a9a37cc78 am: 880aa466bf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3276271

Change-Id: I75a5c547cf1ce10dc099228539063da329797a69
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-23 23:13:41 +00:00
Spandan Das
309a612c9f Remove prebuilt_apex_module_creator mutator
prebuilt apex modules no longer create internal modules, so this
mutator is not necessary.

Test: go build ./apex
Change-Id: I12c08b8f36efab8a9898341052b6f3cd26a0e803
2024-09-23 23:06:53 +00:00
Chan Wang
3a9a37cc78 Merge "Temporarily bypass apex availability check for /product apexes with a specific prefix" into main 2024-09-23 22:56:01 +00:00
Chan Wang
490a6f9b76 Temporarily bypass apex availability check for /product apexes with a
specific prefix

Bug: 361501627

Test: m nothing --no-skip-soong-tests
Change-Id: Ifb855bed3514d27ecccddb5cd986537c628683b1
2024-09-23 21:11:09 +00:00
Treehugger Robot
10c4a0aacb Merge "Convert trivial TopDown mutators to BottomUp" into main am: dbb3ef9ac2 am: 6c2a7e139d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3270769

Change-Id: Ic539574951e46a82d3c92d0b6308c2d72bec678c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-18 20:17:14 +00:00
Colin Cross
da279cfba4 Convert trivial TopDown mutators to BottomUp
Many TopDown mutators can be easily converted to BottomUp mutators,
which are easier to handle for incremental and partial analysis.

Bug: 367784740
Test: all soong tests pass
Test: no change to build.ninja
Flag: EXEMPT refactor
Change-Id: I82955e844ed0eb6680854678c0744ac5398eb7ba
2024-09-18 10:14:19 -07:00
Spandan Das
c264223e96 Merge "Delete multitree api imports code" into main am: 53a230b2fe am: 649cae6296
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3263496

Change-Id: I3dc087ece253f506a90ab6e47c10517df35fb372
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-11 23:44:09 +00:00
Spandan Das
53a230b2fe Merge "Delete multitree api imports code" into main 2024-09-11 22:20:52 +00:00
Treehugger Robot
432eafcd76 Merge "Remove apex_available allowlist" into main am: b269e32d09 am: 546d05ceb6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249711

Change-Id: Iba2d1be84f4d75f86a47173bf262761ac958ad9f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-11 21:55:43 +00:00
Treehugger Robot
b269e32d09 Merge "Remove apex_available allowlist" into main 2024-09-11 21:50:57 +00:00
Spandan Das
ff66518da2 Delete multitree api imports code
The mutltiree workflow has not been in use for a while. This CL cleans
up the code that was added to support multitree.

Details
- Delete cc_api_library, cc_api_headers, cc_api_variant module types.
  These module types contain build rules for prebuilt stub .so and .h
files
- Update the DepsMutator of cc.Module to not create a dependency on a
  sibling cc_api_* module if it exists. e.g. do not create a dependency
on libfoo.apiimports if libfoo is listed in `shared_libs`.
- Remove cc_api_library from the stub/impl selection logic for cc
  modules

Test: m nothing --no-skip-soong-tests
Test: presbumits
Change-Id: Ie194157fb3bbc630f384cdd9b694b0fba6786ded
2024-09-11 19:19:33 +00:00
Treehugger Robot
6666d6bb1c Merge changes I505a7ad8,I92d88199 into main am: fae5ec8bbc am: 68168d7b56
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3258011

Change-Id: I3ff37fd8fe971ffc9cab1fc164fe9885abad7015
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-06 06:27:44 +00:00
Treehugger Robot
fae5ec8bbc Merge changes I505a7ad8,I92d88199 into main
* changes:
  Disable source apex variant using apex_available_name
  Skip `contents` validation of source bootclasspath fragments
2024-09-06 06:07:42 +00:00
Spandan Das
003452ff9c Disable source apex variant using apex_available_name
There are two versions of aosp extservices - one for Tplus and one for
Sminus. When prebuilts are active, the `contents` validation of both
variants of extservices bootclasspath fragments should be disabled to
account for BCP jar skew.

This CL adds ApexAvailableName to ApexInfo to achive that. If an
api_domain matching the ApexAvailableName has been selected in
`all_apex_contributions`, the source apex variants will be disabled.

Bug: 361771739

Test: lunch cf_x86_64_phone-next-userdebug
Test: m nothing with ag/28851886
Change-Id: I505a7ad8295c258e2eeef7f183669f7a75a1c88e
2024-09-06 05:10:41 +00:00
Colin Cross
3946f9e367 Merge "Move checkbuild targets of Soong modules into Soong" into main am: ca3bf2be39 am: 5f0561e24d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3237626

Change-Id: Ib035416676ead421eea1860e5420a2d8b987030e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 17:24:17 +00:00
Colin Cross
ca3bf2be39 Merge "Move checkbuild targets of Soong modules into Soong" into main 2024-09-04 17:12:03 +00:00
Jooyung Han
1955d600d6 Merge changes Ia9f2186e,Ibe567d3b into main am: 0a9eb7f657 am: e1b039d184
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3247637

Change-Id: I70cf56e14a9bc13b1c8499037f8ddca3e54b0dd5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 01:40:10 +00:00
Colin Cross
a6182ab2fa Move checkbuild targets of Soong modules into Soong
Pass the name of Soong's checkbuild target for each module to
Make so that it can depend on it from the main checkbuild rule.
This will give better control over which files get built, allowing
checkbuild to skip the jar combining step when transitive classpath
jars are enabled.  The per-module checkbuild targets are passed to
make instead of added directly as a dependency of checkbuild in order
to maintain the existing behavior of only building modules exposed
to make in checkbuild.

Also tweak the existing calls to CheckbuildFile and add
InstallFileWithoutCheckbuild to match the files that are
in the Make-based checkbuild.

Bug: 308016794
Test: m checkbuild
Change-Id: Ic5140819381d58f4d00f23a7a12447950c4cf268
2024-09-03 14:52:19 -07:00
Jooyung Han
a3fddf40ca Refactor around apex aconfig files (#2)
Aconfig files are treated like other files in APEX. This way, we can
dedup the code hanlding those files (copy commands, fs_config, etc).

Bug: n/a
Test: m nothing --no-skip-soong-tests
Change-Id: Ia9f2186e4e54e92ad90c7a9c00474cb0f7519a31
2024-09-03 13:22:21 +09:00
Jooyung Han
6186ef9004 Refactor around apex aconfig files
We can iterate over the collection of apex file.

Bug: n/a
Test: m nothing --no-skip-soong-tests
Change-Id: Ibe567d3b251c54d656793dc443eb68fb9137f42f
2024-09-03 11:14:19 +09:00
Jooyung Han
a89a58ac1c Remove apex_available allowlist
Bug: 147364041
Test: m nothing --no-skip-soong-tests
Change-Id: I65ac605fe77a9e013a2c0b64adc36db414c77465
2024-08-29 13:00:33 +09:00
Treehugger Robot
3aca762ba7 Merge changes from topic "ctx_in_ideinfo" into main am: 9cbbafe300 am: e1028aa539
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3246818

Change-Id: Id12e0cbdeba1d100d7c755fbcf4336bc1f7c0554
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 01:01:20 +00:00
Treehugger Robot
9cbbafe300 Merge changes from topic "ctx_in_ideinfo" into main
* changes:
  Add ctx argument to IDEInfo()
  Add configurable property support to neverallow
2024-08-28 00:49:13 +00:00
Cole Faust
b36d31d870 Add ctx argument to IDEInfo()
The IDEInfo() methods read properties. To make those properties
configurable, we need a context to evaluate them with.

Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: I26d4b7084439b3006e50b02277298f74a929e1aa
2024-08-27 16:04:28 -07:00
Treehugger Robot
dc9fe3495d Merge "Add a property to rust_ffi targets to exclude them from APEXes." into main am: a5762dd78b am: 8617c2d1bc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3236101

Change-Id: I152db50a2663efbc644edeadc41873644eb591ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-27 20:31:13 +00:00
Ashutosh Agarwal
46e4fad202 Add a property to rust_ffi targets to exclude them from APEXes.
This is a temporary measure until stubs are properly supported by rust_ffi targets.

Bug: 361441210
Bug: 362509506
Change-Id: Ieabd4e3abf442de660f39ec6c5776f5832b25e14
Test: manual
2024-08-27 17:13:12 +00:00
Spandan Das
2dc873402e Merge "Move installation rules of dexpreopt'd apex systemserver jars to soong" into main am: 18c2607bde am: 3f90d0bfe6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3237119

Change-Id: I3ee21598635a4c6628e47357ff06a54dceaeda23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-26 22:45:33 +00:00
Spandan Das
18c2607bde Merge "Move installation rules of dexpreopt'd apex systemserver jars to soong" into main 2024-08-26 22:27:57 +00:00
Spandan Das
746161db0c Move installation rules of dexpreopt'd apex systemserver jars to soong
This will eventually allow us to build devices by skipping `katiBuild`
and moving straight to `katiPackaging`.

Implementation details
- Replace ctx.PackageFile with ctx.InstallFile. These makes these rules
  available to both make and soong packaging systems. This will be done
inside d.dexpreopt function
- Add InstallDepNeeded on the dependency tags in this chain
(apex --> sscp_fragment --> (java_library|java_sdk_library)). This is
necessary for the soong packaging system.
- Remove `LOCAL_SOONG_INSTALLED_MODULE=""`. A non-empty string ensures
  that kati honors the installation rules generated by soong.

Bug: 355509400
Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug (mainline source)
Test: lunch cf_x86_64_only_phone-ap3a-userdebug (mainline prebuilts)
(no diff in system_intermediates/file_list.txt in both cases)

Change-Id: I190a919e9480e7d9981a6b9b96a50d9c33ceea02
2024-08-26 20:58:10 +00:00
Cole Faust
9a8df16ac3 Merge "Make native_shared_libs configurable" into main am: 5fdb54d439 am: c6c90e61a9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3233522

Change-Id: I1c7d71b2b5d5e6000acbefd7dc2f2a187b83ed25
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-20 23:12:51 +00:00
Treehugger Robot
40c2548b66 Merge "apex: apex_available with prefix" into main am: d4daa43150 am: 7af3d43dfb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3223005

Change-Id: I5aecf775722fd2fdd209adb9d1e6a492d544032b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-20 21:46:49 +00:00
Cole Faust
ac92f3e3f4 Make native_shared_libs configurable
So that you can use selects with it.

This cl also creates a ResolvedApexNativeDependencies to represent
a merged and evaluated set of ApexNativeDependencies. Previously other
properties added their own "resolved" versions individually, but I
think it's better design for the property structs to remain unchanged,
so I created a new non-property struct to contain the resolved values.
Immutable property structs is one of the things we want to add for
performance (removing property struct copies).

Bug: 342006386
Test: Presubmits
Change-Id: Ibf222c4a7c01df7d5ccc5a85b2e3c9b3f9243b9a
2024-08-20 13:26:52 -07:00
Jooyung Han
9a419e28f5 apex: apex_available with prefix
We now support prefix form (com.foo.*) in apex_available list.

Bug: 360265761
Test: m --no-skip-soong-tests
Change-Id: I50ab884651dd6321950cfd4563b59ef3ed0f07fd
2024-08-20 10:50:04 +09:00
Kiyoung Kim
e43049d38a Merge "Introduce vintf_fragment module type" into main am: dd00f2de3c am: a1d5004a0f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3213372

Change-Id: I9cd4a450e7e56268bee2177f687f79271ccdcd14
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-16 00:59:21 +00:00
Kiyoung Kim
faf6af31cd Introduce vintf_fragment module type
Introduce a new vintf_fragment module type which handles vintf_fragment
files within Soong. This will help process to move vintf_fragment
handling logic from KATI to Soong. This change also introduces
vintf_fragment_modules property to mark dependency with vintf_fragment
modules.

Bug: 322089980
Test: m nothing --no-skip-soong-tests passed
Change-Id: I49607f42aeee3ded0ba7b078b903dc35f5d61637
2024-08-14 10:34:41 +09:00
Treehugger Robot
21207540b8 Merge "Cleanup configurable getter usages" into main am: c6f1fe0861 am: d1fb3378ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3198402

Change-Id: Ic646cc1686db7b39f74f26badf5dc1a6b6602689
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-29 21:35:41 +00:00
Cole Faust
bf1d92ad20 Cleanup configurable getter usages
You don't have to call module.ConfigurableEvaluator(ctx) if ctx is
already a ModuleContext, you only need to do that for more restricted
contexts like SingletonContext.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I7612290d43dae7decfae283a341882d9016c98a3
2024-07-29 12:24:25 -07:00
Treehugger Robot
a982857a81 Merge changes from topic "avf_apex_android_bp_select" into main am: 6899b7ed22 am: ccae8282a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3189226

Change-Id: I29bb1619b0cee82af9bdfadcc7b4ecd338cebd1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-25 02:43:13 +00:00
Inseob Kim
40b64b4096 Make some apex properties configurable am: b114234f6b am: 5402171253
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3189224

Change-Id: I6087622d56958fe1b61f5492f03b6b5eeb6c65b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-25 02:43:08 +00:00
Inseob Kim
d23e0d3244 Make more apex properties configurable
This allows using select statements with these.

* apps
* binaries
* prebuilts

Bug: 354824866
Test: m --no-skip-soong-tests
Change-Id: I8e28937d2fa6514b41bd189f56f9f584a60d2c80
2024-07-25 00:55:38 +00:00
Inseob Kim
b114234f6b Make some apex properties configurable
This allows using select statements with these.

* androidManifest
* canned_fs_config
* systemserverclasspath_fragments

Bug: 354824866
Test: m
Change-Id: I4c2182944ec14d99332f437c39a19ba0dc6b7731
2024-07-25 00:55:05 +00:00
Treehugger Robot
c156e5c955 Merge "Remove allowlist for updatable modules with current min_sdk_version" into main am: dd9b0c1be8 am: ff8b90d92e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3180441

Change-Id: Ibe54341384f6f36af3822fb8148e8a211bb0ddee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-19 17:45:27 +00:00
Treehugger Robot
dd9b0c1be8 Merge "Remove allowlist for updatable modules with current min_sdk_version" into main 2024-07-19 17:04:57 +00:00
Colin Cross
bcc87ab14e Merge changes from topic "elide_empty_variants" into main am: ea1b3b78b8 am: ec6c8ca013
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3163861

Change-Id: I28cdcce6304d242b19edba8646f827f446df00f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-18 17:50:58 +00:00
Colin Cross
ea1b3b78b8 Merge changes from topic "elide_empty_variants" into main
* changes:
  Convert sdk mutator to TransitionMutator
  Convert link mutator to TransitionMutator
  Convert version mutator to TransitionMutator
  Convert python_version mutator to TransitionMutator
  Convert rust_libraries and rust_stdlinkage mutators to TransitionMutators
2024-07-18 17:37:38 +00:00
Colin Cross
8a49a3dd76 Convert rust_libraries and rust_stdlinkage mutators to TransitionMutators
Replace rust.LibraryMutator and rust.LibstdMutator with
TransitionMutators.

Bug: 319288033
Flag: EXEMPT refactor
Test: all soong tests pass
Test: no change to build.ninja
Change-Id: Ia24a582119d39889279d7b93bac9259685153619
2024-07-17 15:50:36 -07:00
Spandan Das
32c93a3f3c Remove allowlist for updatable modules with current min_sdk_version
All existing violations have been cleaned up.

Bug: 221087384
Test: presbumits
Change-Id: Iefe318d9372d4078f21b03e0d9003609cca069ab
2024-07-17 20:31:58 +00:00
Treehugger Robot
53ad20c491 Merge "Min_sdk_version check for updatable apexes" into main am: 0adcc8c83d am: 03042b57a0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3156080

Change-Id: Ic9c99a819610af549b95f9546df39ea657b052af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-16 19:45:38 +00:00