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
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
(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
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.
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
This reverts commit 1e27f4fff9.
Reason for revert: Rolling forward again without 'all' target.
Bug: 151177513
Bug: 210912771
Bug: 235333302
Bug: 232138105
Test: m droid dist reportmissinglicenses
Test: tapas google-tradefed-all && m dist
Change-Id: I392047ec50ac6e74b9accf260c62e77aef1640d5
Even though it doesn't have google modules in PRODUCT_PACKAGES,
the docs build wants to use prebuilts when the rest of the branch
does.
Bug: 230478310
Test: m docs (inspect MODULE_BUILD_FROM_SOURCE)
Merged-In: I1d67f4099e9fdc5fbaeeb0bf0fce80aa91c05eb5
Change-Id: I1d67f4099e9fdc5fbaeeb0bf0fce80aa91c05eb5