From 8a161be19b782bf6e5eee5643c6d408f1a20de2d Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Wed, 14 Jun 2023 15:45:12 -0700 Subject: [PATCH] Move bazel environment variable list to bzl files So that it's easier to maintain by being closer to the actual long-term usage. Bug: 279095899 Test: m nothing Change-Id: I0b7cfa2eeb48595dd3081b458bbd1156ec2184a3 --- android/bazel_handler.go | 46 +++++-------------------------------- bp2build/conversion.go | 1 - bp2build/conversion_test.go | 4 ---- 3 files changed, 6 insertions(+), 45 deletions(-) diff --git a/android/bazel_handler.go b/android/bazel_handler.go index 4645e6be5..77a9f2486 100644 --- a/android/bazel_handler.go +++ b/android/bazel_handler.go @@ -28,7 +28,7 @@ import ( "android/soong/android/allowlists" "android/soong/bazel/cquery" "android/soong/shared" - "android/soong/starlark_fmt" + "android/soong/starlark_import" "github.com/google/blueprint" "github.com/google/blueprint/metrics" @@ -44,34 +44,6 @@ var ( Description: "", CommandDeps: []string{"${bazelBuildRunfilesTool}"}, }, "outDir") - allowedBazelEnvironmentVars = []string{ - // clang-tidy - "ALLOW_LOCAL_TIDY_TRUE", - "DEFAULT_TIDY_HEADER_DIRS", - "TIDY_TIMEOUT", - "WITH_TIDY", - "WITH_TIDY_FLAGS", - "TIDY_EXTERNAL_VENDOR", - - "SKIP_ABI_CHECKS", - "UNSAFE_DISABLE_APEX_ALLOWED_DEPS_CHECK", - "AUTO_ZERO_INITIALIZE", - "AUTO_PATTERN_INITIALIZE", - "AUTO_UNINITIALIZE", - "USE_CCACHE", - "LLVM_NEXT", - "LLVM_PREBUILTS_VERSION", - "LLVM_RELEASE_VERSION", - "ALLOW_UNKNOWN_WARNING_OPTION", - - "UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT", - - // Overrides the version in the apex_manifest.json. The version is unique for - // each branch (internal, aosp, mainline releases, dessert releases). This - // enables modules built on an older branch to be installed against a newer - // device for development purposes. - "OVERRIDE_APEX_MANIFEST_DEFAULT_VERSION", - } ) func registerMixedBuildsMutator(ctx RegisterMutatorsContext) { @@ -722,7 +694,11 @@ func (context *mixedBuildBazelContext) createBazelCommand(config Config, runName // explicitly in BUILD files. "BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1", } - for _, envvar := range allowedBazelEnvironmentVars { + capturedEnvVars, err := starlark_import.GetStarlarkValue[[]string]("captured_env_vars") + if err != nil { + panic(err) + } + for _, envvar := range capturedEnvVars { val := config.Getenv(envvar) if val == "" { continue @@ -1441,13 +1417,3 @@ func GetConfigKeyApexVariant(ctx BaseModuleContext, apexKey *ApexConfigKey) conf func bazelDepsetName(contentHash string) string { return fmt.Sprintf("bazel_depset_%s", contentHash) } - -func EnvironmentVarsFile(config Config) string { - return fmt.Sprintf(bazel.GeneratedBazelFileWarning+` -_env = %s - -env = _env -`, - starlark_fmt.PrintStringList(allowedBazelEnvironmentVars, 0), - ) -} diff --git a/bp2build/conversion.go b/bp2build/conversion.go index f5983323c..d5f2386c3 100644 --- a/bp2build/conversion.go +++ b/bp2build/conversion.go @@ -73,7 +73,6 @@ func soongInjectionFiles(cfg android.Config, metrics CodegenMetrics) ([]BazelFil files = append(files, newFile("api_levels", "platform_versions.bzl", platformVersionContents(cfg))) files = append(files, newFile("allowlists", GeneratedBuildFileName, "")) - files = append(files, newFile("allowlists", "env.bzl", android.EnvironmentVarsFile(cfg))) // TODO(b/262781701): Create an alternate soong_build entrypoint for writing out these files only when requested files = append(files, newFile("allowlists", "mixed_build_prod_allowlist.txt", strings.Join(android.GetBazelEnabledModules(android.BazelProdMode), "\n")+"\n")) files = append(files, newFile("allowlists", "mixed_build_staging_allowlist.txt", strings.Join(android.GetBazelEnabledModules(android.BazelStagingMode), "\n")+"\n")) diff --git a/bp2build/conversion_test.go b/bp2build/conversion_test.go index 379f83bd8..00ffd793e 100644 --- a/bp2build/conversion_test.go +++ b/bp2build/conversion_test.go @@ -165,10 +165,6 @@ func TestCreateBazelFiles_Bp2Build_CreatesDefaultFiles(t *testing.T) { dir: "allowlists", basename: GeneratedBuildFileName, }, - { - dir: "allowlists", - basename: "env.bzl", - }, { dir: "allowlists", basename: "mixed_build_prod_allowlist.txt",