Decouple the target build variant from the platform
Bug: 301334589 Test: Presubmits Change-Id: Id8ac0874a2d132d9965e339fd8dc705a7434bffb
This commit is contained in:
@@ -665,7 +665,8 @@ func (context *mixedBuildBazelContext) createBazelCommand(config Config, runName
|
||||
command.expression,
|
||||
"--profile=" + shared.BazelMetricsFilename(context.paths, runName),
|
||||
|
||||
"--host_platform=@soong_injection//product_config_platforms:mixed_builds_product-" + context.targetBuildVariant + "_" + runtime.GOOS + "_x86_64",
|
||||
"--host_platform=@soong_injection//product_config_platforms:mixed_builds_product_" + runtime.GOOS + "_x86_64",
|
||||
"--//build/bazel/product_config:target_build_variant=" + context.targetBuildVariant,
|
||||
// Don't specify --platforms, because on some products/branches (like kernel-build-tools)
|
||||
// the main platform for mixed_builds_product-variant doesn't exist because an arch isn't
|
||||
// specified in product config. The derivative platforms that config_node transitions into
|
||||
@@ -720,9 +721,9 @@ func (context *mixedBuildBazelContext) mainBzlFileContents() []byte {
|
||||
#####################################################
|
||||
def _config_node_transition_impl(settings, attr):
|
||||
if attr.os == "android" and attr.arch == "target":
|
||||
target = "mixed_builds_product-{VARIANT}"
|
||||
target = "mixed_builds_product"
|
||||
else:
|
||||
target = "mixed_builds_product-{VARIANT}_%s_%s" % (attr.os, attr.arch)
|
||||
target = "mixed_builds_product_%s_%s" % (attr.os, attr.arch)
|
||||
apex_name = ""
|
||||
if attr.within_apex:
|
||||
# //build/bazel/rules/apex:apex_name has to be set to a non_empty value,
|
||||
@@ -794,11 +795,7 @@ phony_root = rule(
|
||||
)
|
||||
`
|
||||
|
||||
productReplacer := strings.NewReplacer(
|
||||
"{PRODUCT}", context.targetProduct,
|
||||
"{VARIANT}", context.targetBuildVariant)
|
||||
|
||||
return []byte(productReplacer.Replace(contents))
|
||||
return []byte(contents)
|
||||
}
|
||||
|
||||
func (context *mixedBuildBazelContext) mainBuildFileContents() []byte {
|
||||
@@ -972,9 +969,9 @@ def get_arch(target):
|
||||
platform_name = platforms[0].name
|
||||
if platform_name == "host":
|
||||
return "HOST"
|
||||
if not platform_name.startswith("mixed_builds_product-{TARGET_BUILD_VARIANT}"):
|
||||
fail("expected platform name of the form 'mixed_builds_product-{TARGET_BUILD_VARIANT}_android_<arch>' or 'mixed_builds_product-{TARGET_BUILD_VARIANT}_linux_<arch>', but was " + str(platforms))
|
||||
platform_name = platform_name.removeprefix("mixed_builds_product-{TARGET_BUILD_VARIANT}").removeprefix("_")
|
||||
if not platform_name.startswith("mixed_builds_product"):
|
||||
fail("expected platform name of the form 'mixed_builds_product_android_<arch>' or 'mixed_builds_product_linux_<arch>', but was " + str(platforms))
|
||||
platform_name = platform_name.removeprefix("mixed_builds_product").removeprefix("_")
|
||||
config_key = ""
|
||||
if not platform_name:
|
||||
config_key = "target|android"
|
||||
@@ -983,7 +980,7 @@ def get_arch(target):
|
||||
elif platform_name.startswith("linux_"):
|
||||
config_key = platform_name.removeprefix("linux_") + "|linux"
|
||||
else:
|
||||
fail("expected platform name of the form 'mixed_builds_product-{TARGET_BUILD_VARIANT}_android_<arch>' or 'mixed_builds_product-{TARGET_BUILD_VARIANT}_linux_<arch>', but was " + str(platforms))
|
||||
fail("expected platform name of the form 'mixed_builds_product_android_<arch>' or 'mixed_builds_product_linux_<arch>', but was " + str(platforms))
|
||||
|
||||
within_apex = buildoptions.get("//build/bazel/rules/apex:within_apex")
|
||||
apex_sdk_version = buildoptions.get("//build/bazel/rules/apex:min_sdk_version")
|
||||
@@ -1012,8 +1009,6 @@ def format(target):
|
||||
return id_string + ">>NONE"
|
||||
`
|
||||
replacer := strings.NewReplacer(
|
||||
"{TARGET_PRODUCT}", context.targetProduct,
|
||||
"{TARGET_BUILD_VARIANT}", context.targetBuildVariant,
|
||||
"{LABEL_REGISTRATION_MAP_SECTION}", labelRegistrationMapSection,
|
||||
"{FUNCTION_DEF_SECTION}", functionDefSection,
|
||||
"{MAIN_SWITCH_SECTION}", mainSwitchSection)
|
||||
|
Reference in New Issue
Block a user