Commit graph

82041 commits

Author SHA1 Message Date
mrziwang
e2346b87d9 PrebuildEtcModule no longer implements OutputFiles method
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

These module types are included in this change:
linker_config
llndk_libraries_txt
sanitizer_libraries_txt
java_sdk_library_xml
vndksp_libraries_txt
vndkcore_libraries_txt
vndkprivate_libraries_txt
vndkpublic_libraries_txt

Test: CI
Bug: 339477385
Change-Id: I35575bbad137df5ff8001db9a61ba5b3d13eaa6d
2024-06-10 15:17:07 -07:00
Jihoon Kang
0030148fcb Merge "Remove exportable modules when generating snapshots targeting older platform" into main 2024-06-10 20:46:09 +00:00
Frederick Mayle
61d180ac27 Merge "allow arch_variants for C++'s rtti option" into main 2024-06-10 20:09:58 +00:00
Paul Duffin
ccad8ff606 Merge "Hide some noisy Metalava issues" into main 2024-06-10 19:47:31 +00:00
Paul Duffin
b679bdd997 Hide some noisy Metalava issues
Changes https://r.android.com/3106478 and https://r.android.com/3110137
unintentionally started reporting some previously hidden issues as
error when new. This change hides those issues again.

Bug: 343157584
Test: m checkapi before and after
Change-Id: I2e04c919ce5c4f2b39fab65afd13bc31725031f0
2024-06-10 20:46:05 +01: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
Zi Wang
2cbebeaf31 Merge "Use OutputFilesProvider on filesystem module types" into main 2024-06-10 17:53:11 +00:00
Frederick Mayle
7833af17f9 allow arch_variants for C++'s rtti option
Currently, the RTTI setting is ignored for host builds, but we want to
change that. As a prereq, we need a way to explicitly enable/disable it
for host builds.

Bug: 341341056
Test: m
Change-Id: Ie503218181cec4f4ef70063caaa4832f748a8eb5
2024-06-07 16:06:46 -07:00
Zhuoyao Zhang
739b09eddf Merge "Add run_tool_with_logging as a standalone scripts" into main 2024-06-07 22:33:20 +00:00
Treehugger Robot
63de06c142 Merge "Make buildinfo_prop a regular module" into main 2024-06-07 18:36:54 +00:00
mrziwang
555d133433 Use OutputFilesProvider on filesystem module types
Test: CI
Bug: 339477385
Change-Id: I0902726cfef13c716d73c1abc5c9836bdcf3e10f
2024-06-07 11:15:33 -07:00
Cole Faust
daba74e728 Merge "Make buildinfo_prop depend on build number file" into main 2024-06-07 17:27:27 +00:00
Spandan Das
02f1e342cd Merge "Drop PRODUCT_INCLUDE_TAGS from banner vars" into main 2024-06-07 16:01:21 +00:00
Dmitrii Ishcheikin
9f50e8551d Merge changes from topic "revert-3108411-rust-update-prebuilts-1.78.0-PFGKGKZUFP" into main
* changes:
  Revert "rustc-1.78.0 Build 11910258"
  Revert^7 "Upgrade to clang-r522817"
2024-06-07 13:32:57 +00:00
Dmitrii Ishcheikin
8517b8cd87 Revert "rustc-1.78.0 Build 11910258"
Revert submission 3108411-rust-update-prebuilts-1.78.0

Reason for revert: b/345708905

Reverted changes: /q/submissionid:3108411-rust-update-prebuilts-1.78.0

Change-Id: I66b95447ddfcb3d35e5f4305a6d9feb2896fbdf7
2024-06-07 13:06:19 +00:00
Dmitrii Ishcheikin
8c27af2136 Revert^7 "Upgrade to clang-r522817"
36c6af6bd2

Change-Id: Id3320a7862f1ebbfe49bfa4caa36e7ccfd515524
2024-06-07 13:06:19 +00:00
Treehugger Robot
620b0c46d9 Merge "Regard out/soong/release-config as a source directory" into main 2024-06-07 05:12:31 +00:00
Chris Wailes
86cbd9e46d Merge "Revert^6 "Upgrade to clang-r522817"" into main 2024-06-07 03:31:39 +00:00
Chris Wailes
a4760cfbc0 Merge "rustc-1.78.0 Build 11910258" into main 2024-06-07 03:31:39 +00:00
Zi Wang
7daabf71ef Merge "Use OutputFilesProvider on gen_notice" into main 2024-06-07 02:36:54 +00:00
Treehugger Robot
db664386ec Merge "release_config: Do not force ranking in inheritance graph" into main 2024-06-07 01:07:53 +00:00
Spandan Das
f4c802bcd6 Drop PRODUCT_INCLUDE_TAGS from banner vars
PRODUCT_INCLUDE_TAGS was previously used alongside
blueprint_package_include to prune Android.bp files from soong analysis.
With the deprecation of blueprint_package_includes, this product config
variable bcomes a noop and does not provide useful information in
banner.

Test: NA
Bug: 333316620
Change-Id: Id7a1465c06a45f12b4ecb1bf80decddb657adce2
2024-06-07 00:03:20 +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
LaMont Jones
4bb19b2414 release_config: Do not force ranking in inheritance graph
Let graphvis decide how to best display the release config graph.
Also add some color to the graph.

Bug: None
Test: manual
Change-Id: If8b9eb41eb78bd553fd5543938a2c1c098b41591
2024-06-06 12:22:26 -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
Treehugger Robot
4039516f32 Merge "Identify profile providing apexes using ApexInfo" into main 2024-06-06 01:10:12 +00:00
Zhuoyao Zhang
0edf1d38e2 Add run_tool_with_logging as a standalone scripts
As part of the build team's effort to cleanup envseup.sh.
Remove the run_tool_with_logging rundtion from envsetup.sh and add it
as a standalone script under build/soong/bin

Test: atest run_tool_with_logging
Test: manually do source envsetup.sh and run adb devices -l and check
the event log is sent to clearcut, tested with both bash and zsh

Bug: 342066042
Change-Id: I2fbc69a064832af61d75d14b0e33a62cb56186df
2024-06-06 00:18:29 +00:00
Spandan Das
7fd531f5d1 Identify profile providing apexes using ApexInfo
`com.android.art` and its overrides include a `etc/boot-image.prof`
which is used on device for profile guided dexopt.
```
$ deapexer list <path_in_product_out>/com.android.art.apex | grep
boot-image
$ deapexer list <path_in_product_out>/com.google.android.art.apex | grep
boot-image
```

To identify that we should include a boot-image.prof in the override
apexes, we currently look at ApexInfo.InApexVariants in the context of
art's bootclasspath fragment module. InApexVariants are colated based on
the min_sdk_version of the top-level apex. At ToT, we have a single
variant of `art-bootlcasspath-fragment` for aosp art apex, google art
apex and google go art apex.

When google go art apex overrides the min_sdk_version, ApexInfo is
cleaved, and two distinct variants of art-bootclasspath-fragment are
created. The one corresponding to go art apex does not know we should
include boot-image.prof

To fix this, use AllApexInfoProvider instead. If any of the apexInfos
corresponds to com.android.art, include etc/boot-image.prof

Test: Added a unit test
Test: With https://b.corp.google.com/issues/345173231#comment2 reverted,
m com.google.android.go.art && deapexer list <apex> # verified that
boot-image.prof exists

Bug: 345173231
Bug: 295311875

Change-Id: I5a0e8f74725388f05343c64f268260b1eb139ae5
2024-06-05 21:32:23 +00:00
Steven Moreland
c562e50fe5 Merge "Shipping_api_level in build." into main 2024-06-05 19:23:20 +00:00
Zi Wang
6c9fa02204 Merge "Use OutputFilesProvider on bpf" into main 2024-06-05 15:55:34 +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
LaMont Jones
7bd25635aa Merge "Allow product-specific release configs." into main 2024-06-05 00:07:28 +00:00
Cole Faust
3f7b73c639 Merge "genrule: Make cmd configurable" into main 2024-06-04 23:23:32 +00: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
83838b6297 Merge "Cleanup dirmods, outmod, and pathmod" into main 2024-06-04 22:03:22 +00:00
Treehugger Robot
2e264ce8e1 Merge "Ignore_max_page_size option." into main 2024-06-04 21:29:47 +00:00
LaMont Jones
b4f866c73c Allow product-specific release configs.
Bug: 343794062
Test: manual
Change-Id: Ifdfab5978221f1396681a2c851bad7be502b6ea7
2024-06-04 14:27:07 -07:00
Cole Faust
ec701ded12 Cleanup dirmods, outmod, and pathmod
- Use argparse for parsing
- Correct copy/pasted documentation
- Misc small tweaks

Bug: 340648588
Test: manually
Change-Id: I11373bd25712b6880517efbb7aefabf70d29a771
2024-06-04 12:30:55 -07:00
Cole Faust
5f2be11396 Make pathmod give absolute paths
This was broken when pathmod was turned into a standalone script.

Bug: 340648588
Test: gomod frameworks-minus-apex from build/soong
Change-Id: Ibd5eaf2c29d232c1a7da432723f7c6b6fa8bce83
2024-06-04 12:14:35 -07: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
Yu Liu
fba4e70227 Merge "Upload build.trace.gz for user builds." into main 2024-06-04 17:24:50 +00:00
Aleks Todorov
1eb06c4a67 genrule: Make cmd configurable
Bug: 325067608
Bug: 325444956
Test: m
Test: m [custom genrule with select]
Change-Id: I3a2307a8d0f65ee419b935a30742f96e5733a81f
2024-06-04 18:20:29 +01:00
Yi Kong
36c6af6bd2 Revert^6 "Upgrade to clang-r522817"
This reverts commit 55d4abde48.

Reland after fixes

Change-Id: Ic22c58cd4735c737849379de86097605fccc2036
2024-06-04 16:54:06 +00:00
Justin Yun
605b5da192 Regard out/soong/release-config as a source directory
Files in out/soong/release-config are generated from lunch or kati
configuration phase. They don't have rules in ninja, but always
provided as source files.

Bug: 324996303
Test: m checkbuild
Change-Id: Ibfb76a8c58a81a4d768b29d80151fa47e2ebb9c1
2024-06-04 11:28:31 +09:00
Steven Moreland
dabe2d4336 Ignore_max_page_size option.
Option for specific prebuilts to opt out of
the prebuilt page size check.

Like allow_undefined_symbols.

Bug: 342466032
Test: build using this to opt out
Change-Id: I335c0beb66c10b260e7c3e405f05027e7718fe07
2024-06-04 01:27:30 +00:00