When building images via `m` , build_image.py is invoked directly
without going through add_img_to_target_files. To ensure images built in
either way are identical, move uuid/salt computation to build_image.py,
so that the same uuid/salt will be used.
Bug: 281960439
Test: m installclean && m && m target-files-dir , maks sure images in
$OUT and $OUT/obj/PACKING/target_files_intermediates are identical
Change-Id: Icdab29df84f5a0ec7c080f99f9fdbdc3c9b10b90
Fastboot_info can be disabled if use_fastboot_info is set to false.
Adding this flag as fastboot-info.txt is currently broken
Test: m updatepackage -> inspect contents
Bug: 284263071
Change-Id: I3e0ca13968ba9747cc39284ea6798981d22ad5e5
We don't actually need write permission, so going with least privilege
principle. We have observed some mysterious permission denied errors on server environments. Without detailed logs or access to the server it's hard to pinpoint what the root cause is. This is an attempt/hypothesis to fix the permission denied error.
Test: th
Bug: 283033491
Change-Id: I52dc360d593aab57c749109994bf3e1e3625d0ce
INTERNAL_PLATFORM_MISSING_USES_LIBRARIES was a workaround for CLC
construction. It's no longer needed because we have deferred the CLC
construction to Ninja phase.
Bug: 282877248
Test: Presubmit build tests.
Change-Id: Ib5d59caf58394f3bb93b4338146cbbbd58bb4f34
The namespace and flag names will be used as identifiers in the
auto-generated code. Place restrictions on what constitutes a valid
name.
Valid identifiers are those that match /[a-z][a-z0-9_]/. aconfig
explicitly does not implement any automatic translation to make names
valid identifiers: this sidesteps potential conflicts such as "foo.bar"
and "foo_bar" mapping to the same name if dots were translated to
underscores.
Bug: b/284252015
Test: atest aconfig.test
Change-Id: I38d005a74311e5829e540063404d1565071e6e96
Add a new `create-rust-lib` command to generate Rust code. The output is
a src/lib.rs file; the build system is assumed to set the generated
crate's name.
For READ_ONLY flags, the generated code returns a hard-coded true or false.
For READ_WRITE flags, the generated code reaches out to DeviceConfig via
the cc_library server_configurable_flags via the
libprofcollect_libflags_rust Rust bindings. The build system is assumed
to add this to the generated crate's dependencies.
Note: libprofcollect_libflags_rust seems generic enough that it should
be moved to an official Rust wrapper for server_configurable_flags. This
is tracked in b/284096062.
Summary of module the built system is assumed to wrap the auto-generated
code in:
rust_library {
name: "lib<namespace>_rs",
crate_name: "<namespace>_rs",
edition: "2021",
clippy_lints: "none",
no_stdlibs: true,
lints: "none",
srcs: ["src/lib.rs"],
rustlibs: [
"libprofcollect_libflags_rust",
],
}
Also add a set of test input to be used in the unit tests for a more
coherent test strategy. A follow-up CL will migrate the code in
commands.rs, codegen_java.rs and codegen_cpp.rs.
Bug: 279483360
Bug: 283907905
Test: atest aconfig.test
Test: manual: create cache from files in testdata, create rust lib, add to module template above, verify the module builds
Change-Id: I02606aa3686eda921116e33f7e2df8fd1156a7aa
This CL leverages the PRODUCT_IS_ATV build time variable to selectively
exclude the SoundPicker package from the PRODUCT_PACKAGES. This also
paves the way to approach the removal of other unused packages from TV.
Bug: 276897441
Test: make
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:413b614d0d7bc1b412c87672f995fabfadbb6bc8)
Merged-In: Ifb25c1f26df545d31fb80f8e43c217fa8806e021
Change-Id: Ifb25c1f26df545d31fb80f8e43c217fa8806e021
The sysprop to enable/disable AB OTA update is in vendor partition,
but the sysprop which stores list of AB partitions is in product(which
is on system side of treble boundary). This is inconsistent and might
cause problems during mixed build. To mitigate, add a copy of AB
partition list prop in vendor, and readers of this prop will prefer the
vendor copy instead.
Bug: 283042235
Test: th
Change-Id: Idd73971817f663b08824e285d840ed8d8dd60d2c
In the current setup in partner branch, we
1. Add blueprint_package_includes to prebuilts/module_sdk/*
2. Add the correct PRODUCT_INCLUDE_TAGS to partner_modules
This means in those setups,none of the prebuilts are visible to aosp products since
they they do not inherit partner_module makefiles.
```
e.g.
prebuilts/module_sdk/art/current/Android.bp
prebuilts/module_sdk/art/<go_specific>/current/Android.bp
// aosp_arm cannot find either
```
To solve this, this CL creates a default inclusion tag for all products
that do not set any PRODUCT_INCLUDE_TAGS explicitly.
In the previous example, Soong analysis of aosp_* will use
prebuilts/module_sdk/art/current/Android.bp. This should be a no-op for
aosp and internal branches since none of the Android.bp files today contains
blueprint_package_includes
Test: m nothing for aosp_arm in the test branch of b/278604467#comment20
Test: m nothing for partner product that uses big android sdk
Test: m nothing for partner product that uses go sdk
Bug: 278604467
Change-Id: I322b52c34ed339989207609dd0fd23c27ed1f697
It still depended on old intermediate files (out/host/common/obj/JAVA_LIBRARIES/<modulename>_intermediates//manifest.mf)
But the intermediate manifest.mf isn't created after aosp/2563995,
it causes merge_zip error due to missing file.
So make it use the manifest file from source directly.
Test: m out/host/common/obj/JAVA_LIBRARIES/ahat-tests_intermediates/classes-combined.jar
Bug: 278060169
Bug: 283821744
Bug: 283903672
Change-Id: Iebff6bf90b93dab693aef2492383cd3b03f239fb
* Extract BUILD_NUMBER, BUILD_HOSTNAME to file to avoid kati change
* Handle FILE_NAME_TAG_PLACEHOLDER string in dist in build/make/packaging/distdir.mk
Test: check if kati isn't invoked even though BUILD_NUMBER, BUILD_HOSTNAME
is changed
Test: m && m, and check if the second m is no-op
Bug: 278060169
Change-Id: I1b37760242853c1a145bad255d0bb15524234b25
Merged-In: I1b37760242853c1a145bad255d0bb15524234b25