Commit graph

8057 commits

Author SHA1 Message Date
Jihoon Kang
0030148fcb Merge "Remove exportable modules when generating snapshots targeting older platform" into main 2024-06-10 20:46:09 +00:00
Jihoon Kang
98aa8fa840 Remove exportable modules when generating snapshots targeting older platform
This change modifies the contents of the generated Android.bp files so
that when generating a snapshot on a older platform, the "exportable"
modules are removed from the bp files, as the "exportable" modules are
first introduced in V and do not exist in older platforms.

Bug: 345162614
Test: ABTD
Change-Id: I2dba51b98deec7805bd796647a66981f237c55a9
2024-06-10 18:12:35 +00:00
Treehugger Robot
63de06c142 Merge "Make buildinfo_prop a regular module" into main 2024-06-07 18:36:54 +00:00
Cole Faust
daba74e728 Merge "Make buildinfo_prop depend on build number file" into main 2024-06-07 17:27:27 +00:00
Zi Wang
7daabf71ef Merge "Use OutputFilesProvider on gen_notice" into main 2024-06-07 02:36:54 +00:00
mrziwang
1b25df0a01 Use OutputFilesProvider on gen_notice
Test: CI
Bug: 339477385
Change-Id: Iae2ff3a8017e8e073391afe648793424cc0eadbd
2024-06-06 15:20:42 -07:00
Treehugger Robot
211fdd6618 Merge "Drop IncludeTags" into main 2024-06-06 22:12:38 +00:00
Zi Wang
aff9a2c7ac Merge "Initialize TaggedOutputFiles before updating it" into main 2024-06-06 21:54:15 +00:00
Cole Faust
a700d7fa9f Make buildinfo_prop a regular module
Singleton modules have the capability to do a lot more than regular
modules, which is often problematic for incremental builds.
buildinfo_prop wasn't using those capabilities, so make it a regular
module type to prove it.

Bug: 332733525
Test: m out/target/product/emu64x/obj/ETC/buildinfo.prop_intermediates/buildinfo.prop
Change-Id: I288bf2fd4727a17ff299272d4cfcc611e064c55a
2024-06-06 14:49:23 -07:00
Cole Faust
89b4d18ba1 Make buildinfo_prop depend on build number file
buildinfo.prop should be rebuilt when the build number file changes,
because it needs to contain the up to date build number as well.

When this was implemented in make, that dependency was added. But when
we converted it to soong, it was removed. (aosp/3015794 and
aosp/3015818)

Fixes: 332733525
Test: m out/target/product/emu64x/obj/ETC/buildinfo.prop_intermediates/buildinfo.prop repeatedly, see that it rebuilds
Change-Id: Ife9bfa7d48f2578984761f0a78eda3513b324298
2024-06-06 14:39:32 -07:00
mrziwang
57768d7437 Initialize TaggedOutputFiles before updating it
Test: CI
Change-Id: I176ec626ee4165af62344bf918b665d6414f6d83
2024-06-06 11:31:51 -07:00
Treehugger Robot
4eef64a70b Merge "Disallow unknown fields in soong variables file" into main 2024-06-06 17:51:57 +00:00
Steven Moreland
c562e50fe5 Merge "Shipping_api_level in build." into main 2024-06-05 19:23:20 +00:00
mrziwang
e6c8581fbe Use OutputFilesProvider on bpf
This changes makes bpf module type uses OutputFilesProvider,
instead of current OutputFileProducer for inter-module-
communication.

Test: CI
Bug: 339477385
Bug: 342406930
Change-Id: I85d1141e9f6583cc5427756107da99f56b0c7ea1
2024-06-04 22:09:13 -07:00
Steven Moreland
a48df2b7fb Shipping_api_level in build.
Add shipping API level to build, so that we can move
certain tests to build time.

Bug: 340953047
Test: works in init for build time host checks
Change-Id: Ic89066c2b49089da3113a1afef1d39de53b307d9
2024-06-04 23:08:20 +00:00
Cole Faust
e1129b8cc6 Disallow unknown fields in soong variables file
To catch issues earlier, like when renaming a field.

Test: Presubmits
Change-Id: Ie04507b54cc8de3efd27ee75ff32a85ea21b5750
2024-06-04 11:10:11 -07:00
Alyssa Ketpreechasawat
4aff462533 Merge "Add RELEASE_APEX_CONTRIBUTIONS_TELEMETRY_TVP build flag" into main 2024-05-31 08:36:43 +00:00
Alyssa Ketpreechasawat
dcda1c8906 Add RELEASE_APEX_CONTRIBUTIONS_TELEMETRY_TVP build flag
Bug: 342624660
Test: check com.google.mainline.go.telemetry_tplus in out/soong/prebuilt_info.json (go target)
Change-Id: I201b58c08772669b54c396b4c4dbeccbb4b5147c
2024-05-30 20:24:29 +00:00
Spandan Das
a866713ddb Handle missing apex_contributions
Some minimal branches have v/g_s/build/release (where apex_contibutions
have been set to mainline prebuilts), but not v/g/b (where the apex_contributions
for prebuilts have been defined). These minimal branches are unsuitable
for building a product that consume mainline prebuilts, but they would
still like to do aosp product builds.

aosp products should not use the mainline prebuilts anyways, but this
has been implemented as
- always create the dependency edge to the selected apex contributions
- do not visit the dependency edge subsequently if
  IgnoreApexContributions is set set to true

To support aosp product builds in minimal branches, this CL updates the
implementation to skip creating the dependency edge when
IgnoreApexContributions is set to true

Test: go test ./android
Change-Id: Iaa0971760e64f9b7a03542f179231ce2268b6616
2024-05-30 16:51:51 +00:00
Spandan Das
2f9af23734 Merge "Override modules should always override source modules" into main 2024-05-29 16:25:45 +00:00
Jiyong Park
a03e16f1b9 Merge "Required deps don't track native bridge architectures" into main 2024-05-29 03:59:58 +00:00
Spandan Das
0b28fa0b84 Override modules should always override source modules
Since overrides are implemented as variants of the source module, the
override module should not be replaced with prebuilts of the source
module even when the prebuilt is preferred.

Test: go test ./apex
Change-Id: I26e97f700276e7beaf6d1bd61b164f11d57a5e09
2024-05-29 00:06:32 +00:00
Jiyong Park
8db4415616 Required deps don't track native bridge architectures
Bug: 342945184
Test: build aosp_cf_x86_64_only_phone and check if
out/target/product/vsoc_x86_64_only/system/lib64/arm64 directory doesn't
exist.

Change-Id: I1638610ac686b369b23390768af1564b3cf38d9b
2024-05-28 14:29:22 +09:00
yangbill
585564cab2 Allow required property be conditional for release_aidl_use_unfrozen
Bug: 342336921
Test: cd build/soong/android ; go test -run TestProductVariables
Test: add product_variables.release_aidl_use_unfrozen.required to the
phony module.

Change-Id: I9b934a8fb6245b9b6fd0f2db1e67d5e2876490b2
2024-05-27 02:35:49 +00:00
Kiyoung Kim
60cec95e01 Merge "Remove VndkUseCoreVariant related code from build" into main 2024-05-27 00:59:37 +00:00
Treehugger Robot
c6b5fdbc5c Merge "Convert some properties to Configurable properties" into main 2024-05-24 20:52:27 +00:00
Devin Moore
570d72b1cf Let Release_aidl_use_unfrozen add vintf_fragments
The product_config variable can be used to add different
vintf_fragments.

Ignore-AOSP-First: this is required for vFRC finalization and needs to be submitted ASAP. This can be cherry-picked to aosp after finalization.

Test: launch_cvd && atest hal_implementation_test
Test: lunch `next` && atest vts_treble_vintf_framework_test
Bug: 279809333
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b93c1a74cf89caef950c63d64b93f2ccfefcbce8)
Merged-In: Ied17ad4c4564a5d97f93001734fba7cc6648bbc2
Change-Id: Ied17ad4c4564a5d97f93001734fba7cc6648bbc2
2024-05-24 10:12:52 +00:00
Kiyoung Kim
22152f6cda Remove VndkUseCoreVariant related code from build
VndkUseCoreVariant feature is deprecated along with VNDK. This change
removes related code from Soong.

Bug: 330100430
Test: AOSP CF build succeeded
Change-Id: Ie182c9e4dc9cf0a4fe9d5fddf5b36754ddb53d18
2024-05-24 10:45:28 +09:00
Jihoon Kang
d02bd377da Merge "Propagate DirectlyInAnyApex to transitive dependencies" into main 2024-05-24 00:58:05 +00:00
Jihoon Kang
46d66de1c1 Propagate DirectlyInAnyApex to transitive dependencies
`UpdateDirectlyInAnyApex` is used to propagate the ApexProperties
`DirectlyInAnyApex` and `InAnyApex` to the direct dependencies of the
direct dependencies of an apex bundle. In other words, this will be
propagated only to two-levels max dependency from the apex bundle.

However, the implementation library of the sdk library can have longer
dependency chain from the apex bundle than two levels:
e.g. apex -> bcpf -> sdk_lib -> sdk_lib impl lib

Therefore, even if the implementation library of the sdk library is
registered as a dependency using the "CopyDirectlyInAnyApexTag"
dependency tag, the ApexProperties would not be propagated to the
implementation library. In order to resolve this issue and recognize
the implementation library to be directly in apex and allow
instrumentation for the implementation library, this change proposes
propagating `DirectlyInAnyApex` and `InAnyApex` to transitive
dependencies on top of direct dependencies.

Test: DIST_DIR=dist_dir TARGET_BUILD_VARIANT=userdebug PRODUCT=mainline_modules_x86_64 COVERAGE_MODULES="uwb" ./vendor/google/build/build_unbundled_coverage_mainline_module.sh && \
unzip -l out/target/product/module_x86_64/jacoco-report-classes-all.jar and ensure that framework-uwb is included
Bug: 341170242

Change-Id: I27d7a74f6e5bc3e0a044d13c619f4897b6b2eb57
2024-05-23 22:40:35 +00:00
Treehugger Robot
788100e2a8 Merge "Add test for parse error" into main 2024-05-23 19:50:12 +00:00
Treehugger Robot
bc44eb03db Merge "Allow experimental Java target 21 by default" into main 2024-05-23 16:37:21 +00:00
Sorin Basca
253f8c045a Allow experimental Java target 21 by default
Bug: 342332820
Test: EXPERIMENTAL_TARGET_JAVA_VERSION_21=true m
Change-Id: I6cc21bf191385df91c2446b7cd6291a0e3532bea
2024-05-23 10:28:24 +01:00
Cole Faust
aeecb75be2 Add test for parse error
This used to error out prior to the other cl in this topic.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I6d95eb00c75836a5a0c60e07bfd4b306388591ed
2024-05-22 17:01:59 -07:00
Cole Faust
c15b0234e9 Merge "Support soong config value variables on Configurable properties" into main 2024-05-22 23:58:50 +00:00
Cole Faust
5f29706843 Support soong config value variables on Configurable properties
Configurable properties were previously not having their %s's
substituted with the actual value.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Id317e58a1fd878db5452d5d0a5df588021bcdcdb
2024-05-22 14:34:47 -07:00
Cole Faust
fdec8723d5 Convert some properties to Configurable properties
Focusing on the properties needed to remove soong config modules from
packages/modules/Virtualization.

- prebuilt_etc's src and srcs
- filegroup's srcs and exclude_srcs
- rust's cfgs

Bug: 342006386
Test: m nothing --no-skip-soong-tests
Change-Id: I6971da744a17955f98104948e6f9614776955782
2024-05-22 13:33:42 -07:00
Spandan Das
aa9369b71d Drop IncludeTags
This was previously used in conjunction with blueprint_package_includes
to prune Android.bp files from soong analysis.

Test: m nothing
Bug: 308188212
Change-Id: Ie82e20eec63bd0be70e1cf0290c70f62d5621c76
2024-05-22 19:23:47 +00:00
Cole Faust
5e79b167b8 Merge "Add tests for unhandled select condition errors" into main 2024-05-22 18:51:10 +00:00
Cole Faust
751a4a5fa2 Export release flag types to make/soong
And use the types to appropriately type selects on the release
variables.

Bug: 323382414
Test: Presubmits
Change-Id: Ide7eca95662caaa7b4be42e20399d9fcd7fed35f
2024-05-21 18:09:05 -07:00
Cole Faust
4ab1563fe5 Merge "Update select tests for optionals" into main 2024-05-22 00:02:41 +00:00
Treehugger Robot
c7360364fc Merge "Remove printf in tests" into main 2024-05-21 22:50:22 +00:00
Cole Faust
749eeaa94c Update select tests for optionals
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I314719c9e287638acbc1ef82651d14fee6e1a55a
2024-05-21 14:19:05 -07:00
Cole Faust
bc82eaf0f6 Remove printf in tests
This causes unnecessary spam when running
m nothing --no-skip-soong-tests.

Test: m nothing --no-skip-soong-tests
Change-Id: I4d893b3da47a9f79774c67274a84ff77be9c4811
2024-05-21 11:22:29 -07:00
Cole Faust
b9519094d9 Add test for selects with variables
I thought this might need extra parsing code to handle, but it appears
to work fine.

Bug: 323382414
Test: Presubmits
Change-Id: I4e8bf44a222427c34b2709a41aa5497984154d9d
2024-05-21 11:20:15 -07:00
Yu Liu
928cb6d557 Merge "Write ninja file in parallel." into main 2024-05-21 17:22:01 +00:00
Jiyong Park
46469d6a03 Merge "Add multilib.prefer32.deps to packaging base" into main 2024-05-21 01:00:58 +00:00
Yu Liu
1b2ddc8093 Write ninja file in parallel.
Bug: 335718784
Test: CI
Change-Id: Ie36d78478a60359b704767689846e76b1c2ba76d
2024-05-20 20:28:44 +00:00
Treehugger Robot
a6ecdd39c8 Merge "Dump the required modules into module-info.json" into main 2024-05-20 17:55:15 +00:00
Treehugger Robot
8298134503 Merge changes Ifbe123d1,Ie2e738a6 into main
* changes:
  Support min_sdk_version overrides in apexes
  Support min_sdk_version overrides in apps
2024-05-20 17:38:11 +00:00