3e7d3ca127
Previously, the archTypeSpecificInfo included an array of
*linkTypeSpecificInfo. This change replaces that array with an array of
*imageVariantSpecificInfo which themselves contain an array of
*linkTypeSpecificInfo.
That allows the sdk snapshot to handle image variants correctly, i.e.
collate their properties, optimize their properties and then detect if
there are any image variant specific properties for any image variant
other than the CoreImageVariant ("") and report it as an error.
The latter case is treated as an error because while Soong needs to
handle image specific variants there is currently no requirement to
handle generating a prebuilt with image specific properties. A follow
up change will test the error handling.
Image specific variants are needed because the "jni_headers"
cc_library_headers module provides a number of image variants (e.g.
recovery) that are used outside the ART module. Therefore, the sdk
snapshot needs to do the same.
At the moment image variants like the recovery variant are supported by
copying the property that creates the variant (e.g. recovery_available)
through to the prebuilt but that is not safe for a couple of reasons:
1. It ignores any differences between the recovery variant and the
other variants which could cause compatibility issues in modules
that build against the prebuilts.
2. It marks modules in the snapshot with recovery_available even when
they do not need it.
This change will allow follow up changes to address both those issues.
Bug: 195754365
Test: m nothing
Merged-In: I1c187d814f44b2cb7607cd43a6b215134be0faad
Change-Id: I1c187d814f44b2cb7607cd43a6b215134be0faad
(cherry picked from commit
|
||
---|---|---|
.. | ||
soongconfig | ||
Android.bp | ||
android_test.go | ||
androidmk.go | ||
androidmk_test.go | ||
apex.go | ||
apex_test.go | ||
api_levels.go | ||
arch.go | ||
arch_list.go | ||
arch_test.go | ||
bazel.go | ||
bazel_handler.go | ||
bazel_handler_test.go | ||
bazel_paths.go | ||
bazel_test.go | ||
config.go | ||
config_test.go | ||
csuite_config.go | ||
csuite_config_test.go | ||
deapexer.go | ||
defaults.go | ||
defaults_test.go | ||
defs.go | ||
depset_generic.go | ||
depset_paths.go | ||
depset_test.go | ||
deptag.go | ||
deptag_test.go | ||
expand.go | ||
expand_test.go | ||
filegroup.go | ||
fixture.go | ||
fixture_test.go | ||
hooks.go | ||
image.go | ||
license.go | ||
license_kind.go | ||
license_kind_test.go | ||
license_sdk_member.go | ||
license_test.go | ||
licenses.go | ||
licenses_test.go | ||
makefile_goal.go | ||
makevars.go | ||
metrics.go | ||
module.go | ||
module_test.go | ||
mutator.go | ||
mutator_test.go | ||
namespace.go | ||
namespace_test.go | ||
neverallow.go | ||
neverallow_test.go | ||
ninja_deps.go | ||
ninja_deps_test.go | ||
notices.go | ||
onceper.go | ||
onceper_test.go | ||
override_module.go | ||
package.go | ||
package_ctx.go | ||
package_test.go | ||
packaging.go | ||
packaging_test.go | ||
path_properties.go | ||
path_properties_test.go | ||
paths.go | ||
paths_test.go | ||
phony.go | ||
prebuilt.go | ||
prebuilt_build_tool.go | ||
prebuilt_test.go | ||
proto.go | ||
queryview.go | ||
register.go | ||
rule_builder.go | ||
rule_builder_test.go | ||
sandbox.go | ||
sdk.go | ||
sdk_version.go | ||
sdk_version_test.go | ||
singleton.go | ||
singleton_module.go | ||
singleton_module_test.go | ||
soong_config_modules.go | ||
soong_config_modules_test.go | ||
test_asserts.go | ||
test_suites.go | ||
testing.go | ||
util.go | ||
util_test.go | ||
variable.go | ||
variable_test.go | ||
visibility.go | ||
visibility_test.go | ||
writedocs.go |