platform_build_soong/android
Paul Duffin 3e7d3ca127 Insert imageVariantSpecificInfo between arch and link info
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 b42fa67a47)
2022-02-10 16:55:21 +00:00
..
soongconfig
Android.bp Test SdkSpecForm. 2021-12-09 14:35:32 +00:00
android_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
androidmk.go Switch Effective_license_text from []string to Paths 2021-05-11 08:24:59 +01:00
androidmk_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
apex.go Allow java_sdk_library in an APEX to have higher min_sdk_version. 2021-12-09 14:35:32 +00:00
apex_test.go Record the actual APEXes that a module is part of. 2021-05-20 17:36:22 +01:00
api_levels.go Test SdkSpecForm. 2021-12-09 14:35:32 +00:00
arch.go Revert "Fix ndk and aml arch order" 2021-07-01 06:50:40 +00:00
arch_list.go
arch_test.go Add bp2build arch-specific paths mutator 2021-04-21 18:21:50 -04:00
bazel.go bp2build: build //external/scudo/... 2021-05-13 06:25:49 +00:00
bazel_handler.go Make @soong_injection usable in standalone builds. 2021-05-11 16:54:29 +02:00
bazel_handler_test.go Make @soong_injection usable in standalone builds. 2021-05-11 16:54:29 +02:00
bazel_paths.go Handle the version_script property. 2021-04-30 16:46:41 +02:00
bazel_test.go bp2build: add allowlist for package-level conversions. 2021-03-24 02:27:19 -04:00
config.go Propagate min and max sdk versions to classpaths.proto configs. 2021-12-09 14:35:32 +00:00
config_test.go Fix writing soong.variables . 2021-03-17 16:35:13 +01:00
csuite_config.go Convert android/csuite_config_test.go to test fixtures 2021-03-17 16:18:17 +00:00
csuite_config_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
deapexer.go Simplify deapexer support 2021-06-21 10:54:22 +01:00
defaults.go
defaults_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
defs.go Move android package on top of remotexec 2021-03-18 16:17:34 -07:00
depset_generic.go
depset_paths.go
depset_test.go
deptag.go
deptag_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
expand.go
expand_test.go
filegroup.go Incorporate filegroups into mixed builds. 2021-04-19 15:50:20 -04:00
fixture.go Add PrepareForDebug_DO_NOT_SUBMIT 2021-04-21 10:16:31 +01:00
fixture_test.go Remove FixturePreparer.Extend() 2021-04-01 10:33:20 +01:00
hooks.go
image.go Add debug ramdisk variant. 2021-04-29 22:58:17 +09:00
license.go Switch Effective_license_text from []string to Paths 2021-05-11 08:24:59 +01:00
license_kind.go
license_kind_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
license_sdk_member.go Add license modules to the sdk 2021-05-11 08:28:49 +01:00
license_test.go Add baseline test for license with sdk 2021-05-11 08:24:59 +01:00
licenses.go Add license modules to the sdk 2021-05-11 08:28:49 +01:00
licenses_test.go Switch Effective_license_text from []string to Paths 2021-05-11 08:24:59 +01:00
makefile_goal.go
makevars.go
metrics.go
module.go Insert imageVariantSpecificInfo between arch and link info 2022-02-10 16:55:21 +00:00
module_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
mutator.go Add bp2build arch-specific paths mutator 2021-04-21 18:21:50 -04:00
mutator_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
namespace.go
namespace_test.go Add TestingBuildParams.RelativeToTop() 2021-03-22 22:09:53 +00:00
neverallow.go Relax apex package restriction for T+ jars 2021-12-10 10:52:01 +00:00
neverallow_test.go Relax apex package restriction for T+ jars 2021-12-10 10:52:01 +00:00
ninja_deps.go
ninja_deps_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
notices.go
onceper.go
onceper_test.go
override_module.go Add GetEmbeddedPrebuilt and IsModulePrebuilt 2021-04-28 14:02:04 +01:00
package.go
package_ctx.go Move android package on top of remotexec 2021-03-18 16:17:34 -07:00
package_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
packaging.go Generate linker config with packaged items. 2021-05-11 11:56:54 +09:00
packaging_test.go Merge "Fix PackagingBase.CopyDepsToZip" 2021-03-23 04:21:38 +00:00
path_properties.go Add bp2build arch-specific paths mutator 2021-04-21 18:21:50 -04:00
path_properties_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
paths.go Add support for converting OptionalPath to Paths 2021-05-13 12:40:08 +01:00
paths_test.go Add support for converting OptionalPath to Paths 2021-05-13 12:40:08 +01:00
phony.go
prebuilt.go Make prebuilt properties customizable 2021-06-24 22:07:54 +00:00
prebuilt_build_tool.go
prebuilt_test.go Make prebuilt properties customizable 2021-06-24 22:07:54 +00:00
proto.go
queryview.go queryview: fix depfile and incrementality. 2021-03-30 12:22:12 +00:00
register.go Register bp2build module types even outside generation 2021-03-31 12:26:01 -04:00
rule_builder.go Add validations to RuleBuilderCommand 2021-04-21 11:46:50 -07:00
rule_builder_test.go Add validations to RuleBuilderCommand 2021-04-21 11:46:50 -07:00
sandbox.go
sdk.go Support hidden API processing for modules that use platform APIs 2021-06-25 21:59:28 +01:00
sdk_version.go Test SdkSpecForm. 2021-12-09 14:35:32 +00:00
sdk_version_test.go Test SdkSpecForm. 2021-12-09 14:35:32 +00:00
singleton.go
singleton_module.go
singleton_module_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
soong_config_modules.go
soong_config_modules_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
test_asserts.go Add new stub_only_static_libs attr for sdk_library 2021-04-22 10:20:13 +01:00
test_suites.go Add explicit rspfile argument to RuleBuilderCommand.FlagWithRspFileInputList 2021-03-16 16:52:56 -07:00
testing.go Improve error reporting when a rule cannot be found 2021-06-16 10:03:21 +00:00
util.go Add FilterListPred. 2021-03-28 22:06:33 +01:00
util_test.go Add FilterListPred. 2021-03-28 22:06:33 +01:00
variable.go Add support for extension version in variables 2021-08-31 14:17:49 +00:00
variable_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
visibility.go
visibility_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
writedocs.go