The unit test is useful for verifying that
min_sdk_version/max_sdk_version information is populated correctly.
Followup to https://r.android.com/3128893
Bug: 345621958
Test: go test ./apex
Change-Id: Id7696a8cefaab6d0b7f38b65a33e326152ac12d3
bootclasspath.pb.textproto of an apex contains
min_sdk_version/max_sdk_version information of its exported libraries.
It is populated using the stateful minSdkVersion/maxSdkVersion
properties of the SdkLibrary module. These were previously indirectly
populated by invoking `module.Library.GenerateAndroidBuildActions(ctx)`,
which has been removed https://r.android.com/3079425.
This CL updates the implementation to use `MinSdkVersion(ctx)` and
`MaxSdkVersion(ctx)` to get the appropriate values directly and not rely
on GenerateAndroidBuildActions.
Bug: 345621958
Test: cat out/soong/.intermediates/packages/providers/MediaProvider/apex/com.android.mediaprovider-bootclasspath-fragment/android_common_apex30/c49cac19acc21350e0f3590de64d2f7f/bootclasspath.pb.textproto
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "30"
max_sdk_version: ""
}
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-pdf.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "30"
max_sdk_version: ""
}
jars {
path: "/apex/com.android.mediaprovider/javalib/framework-pdf-v.jar"
classpath: BOOTCLASSPATH
min_sdk_version: "34"
max_sdk_version: ""
}
// min_sdk_version values were empty previously
Change-Id: Ia547747b16d255c1a093deee96a1abb61fd47dff
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
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.
Test: CI
Bug: 339477385
Change-Id: I77929210f4ee2d83d110bca1391edc54be69f0db
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
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
This reverts commit 8c27af2136.
Reason for revert: Re-land the Rust 1.78.0 and Clang r522817 updates
Change-Id: Id1fe3790c9688f2c204ca26b5638e1a245cc65f4
This reverts commit 8517b8cd87.
Reason for revert: Re-land the Rust 1.78.0 and Clang r522817 updates
Change-Id: Icd3f4554b0e27ed8543a7c1b0301d4dd8ed4a82b
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
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
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
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
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
Projects with this property will be aggresively optimized for size. This
is useful for large binaries that are rarely executed and performance
insensitive (e.g. debugging tools, deprecated libraries).
This changeset reduces total system native binary size by 1.1%.
Test: presubmit
Bug: 342090838
Change-Id: I46a1db0c44e2e7d482b14eca1299f8ad48661d2d
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
`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