Let the fsverity_manifest_generator logic be reused and just keep the
bits to generate the BuildManifest.apk. Since this can all be acheived
with a series of shell commands, remove the python script and just do it
directly in the Makefile.
Bug: 237384936
Test: TH
Change-Id: I168dc1cea0be72b5098f99e4183e080a687fb03e
With this change, if BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT is unset, a
target will be declared for super.img so it becomes possible to build it
(e.g. with `m superimage`), but it will not be part of the default `droid`
target. This is useful for building a `super.img` on targets that do
not normally need one without needing to go through a slow `m dist` step.
Change-Id: I599e93b3fc41fc2c0642761fcda757c40e2736d6
64-bit GSI requires support both 64_32-bit and 64-bit devices at
the same time. Add a new variable TARGET_DYNAMIC_64_32_MEDIASERVER
to put mediaserver_dynamic.rc into GSI. Which starts 64-bit
mediaserver if ro.zygote is zygote64. Otherwise, it keeps the
original behavior to start 32-bit meidaserver.
Bug: 236664614
Test: make gsi_arm64-user; Check system/etc/init
Test: make gsi_arm-user; Check systen/etc/init
Test: cts-tradefed; run cts-on-gsi -m CtsViewTestCases
Change-Id: I74699ec5fafadcbe78a7fef6d10aaed752cd5afa
If TARGET_NO_KERNEL is true (device has prebuilt boot.img), then the
init_boot.img build arguments wouldn't be propagated correctly.
This is because INTERNAL_INIT_BOOT_IMAGE_ARGS is misplaced within a
`ifneq ($(strip $(TARGET_NO_KERNEL)),true)` conditional block.
Fix this by moving INTERNAL_INIT_BOOT_IMAGE_ARGS initialization into the
`ifeq ($(BUILDING_INIT_BOOT_IMAGE),true)` block, which is closer to its
first use.
Bug: 237630862
Test: m initbootimage
Change-Id: I6c0ee2c4b5d0be77a93311eba714e0ed555ffd25
`info->symlink_target` is a `std::string`. This `strdup` therefore leaks
memory. Just use `std::string::operator=(const char *)` instead.
Bug: 206470603
Test: TreeHugger
Change-Id: I71bcaec583c7d429b4d09522cc5eeb2ced009007
Some test modules such as `android_test` use the `host_required` attribute to include additional harness dependencies. For example, `CtsLibcoreTestCases` references `cts-dalvik-host-test-runner` in the `host_required` attribute since those jars are required by Tradefed at runtime.
This information needs to present in module_info.json and exported to properly generate Bazel targets that include these runtime dependencies.
Test: m out/target/product/coral/module-info.json
Bug: 220991354
Change-Id: I8d2ab0da04c9f4aff17d290999c69ffe0534729f
This reverts commit 9f1fad04ce.
Reason for revert: Fixed latent bug in OTA test
This change creates license texts and lists of projects to share for
individual files in dist instead of for dist goals.
If a distribution needs the license texts for part of a dist file or
for a combination of multiple files, whoever is distributing will have
to create a suitable text notice using `gen_notice{}` or `testnotice`
and include it among the dist files for the goal using `dist-for-goals`
or equivalent.
Bug: 151177513
Bug: 210912771
Bug: 235333302
Bug: 232138105
Bug: 235302632
Test: m cts dist
Test: m droid dist
Test: tapas google-tradefed-all && m dist
Change-Id: I9fbcb07acfa7b14a140563cb031374160b6b23c2
Merged-in: I9fbcb07acfa7b14a140563cb031374160b6b23c2
Currently the only way to do this is to enable deduplication.
Bug: N/A
Test: BOARD_EROFS_COMPRESSOR := none
Change-Id: I7f8b99fbcefe7bbc15dfab7062b321aa3e2cf1ca
The makefile product inheritance code was supposed
to deduplicate inheritance calls, but there was
a bug in the uniq-word function that caused it
to not work when duplicated words were adjacent.
$(subst |||x|||,||| |||,|||x|||x|||) produces
||| |||x||| instead of ||| ||| |||.
Rewrite the uniq-word function to fix the bug.
This issue was causing a discrepency between
the makefile and starlark based product configurations,
as the starlark implementation didn't have this bug.
Bug: 237019892
Test: ./build/bazel/ci/rbc_dashboard.py --quick on an internal-only product
Change-Id: I543a80746412ffcb9743203399413a0e707111e6
SymlinkTree is one of the action types Blaze returns in response to
`aquery` (action query). build-runfiles is a tool copied from Bazel
to implement this action (see src/main/tools/build-runfiles.cc in
the Bazel Git repo). It creates a symlink farm (i.e., a directory
hiearchy consisting of symlinks) from a given manifest. Mixed builds
need this tool the mixed builds (in particular, every Python applicaion
has a runtime symlink farm).
Bug: 232085015
Test: m USE_BAZEL_ANALYSIS=1 com.android.adbd
Change-Id: I9cfcb33cb7d0f63bd36ffd2b4101f53cfc6a42fc
Uniform the split() function
str.split() will return a list split all spaces in str,
while str.split(' ') will return a list might contain ''
which might have potential issues.
Signed-off-by: jiajia tang <tangjiajia@xiaomi.com>
Change-Id: I0961659b140f800bdbe285f63bb4f02b8459ff8b
Signed-off-by: jiajia tang <tangjiajia@xiaomi.com>
(cherry picked from commit dccd189954)
Previously, any setting of SOONG_CONFIG_<m>_module_source_build (where
<m> is one of wifi, uwb or bluetooth) that was made before the
core/android_soong_config_vars.mk was processed would be replaced with
false. This change will only set them to false if they have not been
previously set.
Bug: 233965247
Test: m nothing
# After setting SOONG_CONFIG_wifi_module_source=true before this
# code. Without this change out/soong/soong.variables uses false
# for the wifi_module/module_source config variable. With this
# change it uses true.
Merged-In: I1dffeb055a68250f574630d4ef5fedc51bad4a2b
Change-Id: I1dffeb055a68250f574630d4ef5fedc51bad4a2b
Flip the setting that controls R8 shrinking for system_server from
opt-in to opt-out. This can be controlled by vendor makefiles and from
the command-line using the `SYSTEM_OPTIMIZE_JAVA` boolean build flag.
Note that this change only enables code shrinking for system_server,
and should not impact stack traces except for certain stack frames
involving synthetics.
Additional (vendor) code that is loaded dynamically into
system_server, that references system_server code, should use
system_server APIs that are expicitly annotated with
`@android.annotation.SystemApi`.
Additional (vendor) code added directly to services.jar,
which doesn't fall into existing keep patterns in the services
proguard.flags configuration and would otherwise be stripped, should be
annotated with `@com.android.internal.annotations.Keep`.
Results: services.jar (20MB -> 17MB)
Bug: 210510433
Test: atest
CtsInstalledLoadingProgressHostTests
CtsAutoFillServiceTestCases
CtsAppSecurityHostTestCases
CtsAppTestCases
Change-Id: Icc77c9451d9a4a83e02cb591693354988f8d0ec4
It turns out dist goals do not map well to units of code distributed.
They often build a combination of files to distribute and files for
internal use only.
This change creates license texts and lists of projects to share for
individual files in dist instead of for dist goals.
If a distribution needs the license texts for part of a dist file or
for a combination of multiple files, whoever is distributing will have
to create a suitable text notice using `gen_notice{}` or `testnotice`
and include it among the dist files for the goal using `dist-for-goals`
or equivalent.
Bug: 151177513
Bug: 210912771
Bug: 235333302
Bug: 232138105
Bug: 235302632
Test: m cts dist
Test: m droid dist
Test: tapas google-tradefed-all && m dist
Change-Id: Id78f032575a2ac1a3cc70643b3ae4d2e6c32da04