Having this in make has the following advantages
- allows this to be used in other places in make that are sensitive to
prebuilt selection, e.g. apex boot jars that are present in source but
not in prebuilt apexes
- collocates the various prebuilt special edge cases
Test: presubmits
Test: in internal, lunch cf_x86_64_phone-next-userdebug
Test: EMMA_INSTRUMENT_FRAMEWORK=true get_build_var PRODUCT_BUILD_IGNORE_APEX_CONTRIBUTION_CONTENTS
true
Bug: 308188056
Change-Id: I3e81b348e9f1e72e6d120a881d37356c413b005b
Implement a binary that logs tool events to Clearcut. The binary is designed to be eventually called by the `run_tool_with_logging` script in the `envsetup.sh` script that sets up the build environment.
Only start and stop events are currently logged for each invocation.
Test: atest tool_event_logger_test
bug: 331638854
Change-Id: I9268e4cb986975ceda171204e6ce8ef1732eaeea
This reverts commit e18b9fee63.
Reason for revert: Likely causing build failures for go/ab/git_aosp-main-with-phones
Change-Id: If01f58908bd66c7afa42b9c96d048dfcd2d70812
Before trunk stable, this check ensured that `docs` and `sdk` builds
contained all the apis provided by an apex. If source apex was used, it
would use the source java_sdk_library. If prebuilt apex was used, it
would use the prebuilt java_sdk_library.
After trunk stable, all release configurations for platform development
use the everything stubs of source java_sdk_library for javac, and
exportable stubs of source java_sdk_library for sdk/docs. The exportable
stubs is aware of the enabled flags for a specific release
configuration.
Since sdk and docs builds use the exportable stubs, we can drop this
special case to use the prebuilt stubs/srcjar files.
Test: presubmits
Test: in internal, lunch cf_x86_64_phone-next-userdebug (currently uses
bt prebuilts)
Test: m docs
Test: aninja -t path docs
out/soong/.intermediates/packages/modules/Bluetooth/framework/framework-bluetooth.stubs.source/android_common/exportable/framework-bluetooth.stubs.source-stubs.srcjar;
still exists after this cl
Bug: 308188056
Change-Id: I65da9f25634f0e8c3d514a4c175f89c3e5eb9712
Read from the new aconfig storage backing in C++ aconfig codegen, for
READ_ONLY flags. Log if there is a match with the legacy storage, or a
mismatch, or a failure.
Only enabled if instrumentation is enabled, which will be enabled by a
build flag in a follow-up CL.
Test: m && cargo t
Bug: 328444881
Change-Id: I691dfad8860d8f917e93c5d56dac19f8791de943
Restrict the set of exported symbols to those in the aconfig_storage
namespace by way of a version script. This shrinks the shared lib size
by ~75%, from ~800KB to <200KB.
Bug: 336657207
Test: m
Change-Id: I56044fe667a713cf1d94f96c992f379a5725850f
This artifact contains the system server jars that were used in the
build. At ToT, this was disabled when prebuilts were enabled to prevent
version skew between the system server jars built from source, and the
system server jars deapexed from the prebuilt apex that was installed
into the system image.
With this CL, this artifact is now compatible with prebuilts. If a
google prebuilt apex is used, system_server.zip will contain the .jar
deapexed from that prebuilt. e.g. if art _and_ btservices prebuilts are
enabled, then system_server.zip will contain the prebuilt jars for those
apexes, and sources for others.
This implementation leverages the fact that soong copies the _selected_
system server jars to out/soong/system_server_dexjars for dex2oat. Soong
is aware of source/prebuilts, and populates this directory with the
correct system server jar.
One side effect of this change is that affects the directory structure
of the zip. Previously, service-art.jar will be present in the zip file
at apex/com.android.art/java/service-art.jar. After this change
service-art.jar will be present in the top-level directory of the zip
Bug: 308188056
Test: the zip is not bit-identical, but I checked that the file contents are indentical (discussed below)
Test: unzip out/target/product/vsoc_x86_64/system_server.zip.before -d system_server.before
Test: unzip out/target/product/vsoc_x86_64/system_server.zip.before -d system_server.after
Test: find system_server.before/ -type f -printf '%s\t%p\n' | sort -n | cut -f2- | xargs cat | shasum
Test: find system_server.after/ -type f -printf '%s\t%p\n' | sort -n | cut -f2- | xargs cat | shasum
Test: the shasums are identical
Test: in internal, lunch cf_x86_64_phone-next-userdebug (next uses bt
prebuilts)
Test: m nothing
Test: aninja -t path out/target/product/vsoc_x86_64/system_server.zip <vendor_dir_path>/BluetoothGooglePrebuilt/com.google.android.btservices.apks; path exists
Change-Id: I213150b7ee2b012fd649b308f3c72bebf5ca7bf8
For ota generation via build-ota-package-target, match how
--oem_settings works, but for --boot_variable_file.
Bug: 335732867
Test: Set BOOT_VAR_OTA_CONFIG, make dist, and check ota_metadata
Change-Id: I526e2b280eb288f3abaace2a5daac97a0f7ac6d7
trendy_team_adte was defined under tools/asuite, this causes build
error for builds that does not contain that project. Move the
definition to build/make so it is avaialve for all builds.
Test: None
Change-Id: I965d460ef556027c0c7dc6dc0ec3434d8898d4b7
If boot_variable_file is not found locally, look for it inside
input_target_files.
Bug: 335732867
Test: generate OTA with file in target-files.zip and verify metadata
Change-Id: I2e61f50850e82a3795f2e0e1aefcaf2329a8cfb1
Simplify storage write api so that we don't need the storage records pb
file.
Bug: b/312444587
Test: atest -c
Change-Id: I7e336b1d7766983364715dae15786b91b0c0743f
The --unused parameter inverts the output of whichgit, reporting which
git projects are not used for a given build target.
Test: build/make/tools/whichgit --unused
Test: build/make/tools/whichgit --unused --modules framework
Existing use-cases should remain unchanged:
Test: build/make/tools/whichgit --modules framework
Change-Id: Ia4e55a5cb0331d522fed76821fe813ef98c25a67
This list is used to create soong config namespaces per toggle-able
module, and set source_build property. internal and partner branches now
use RELEASE_APEX_CONTRIBUTIONS_* for source vs selection, so remove this
mechanism to prevent confusing behaviors when these two mechanisms have
conflicting values.
`art_module.source_build` is a special-case which uses an additional variable
`ART_MODULE_SOURCE_BUILD`. This will be tracked in
https://r.android.com/3037396
Bug: 308188056
Test: presubmits
Test: downloaded this CL in v-aml branch, m
out/soong/prebuilt_info.json; file is identical
Merged-In: I3f9cbb24d6f3a7a0312683906826708147f469ee
Change-Id: I3f9cbb24d6f3a7a0312683906826708147f469ee