From c9508aac4ccc605d90be2c92c4e4c46db45377fc Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Tue, 7 Feb 2023 11:38:27 -0800 Subject: Load starlark files from soong There are a number of instances where we are exporting information from soong to bazel via soong_injection. This could be more bazel-centric if the information was instead held in bzl files, and both bazel and soong read it from there. Add a starlark package that will run //build/bazel/constants_exported_to_soong.bzl at initialization time, and then results can be retreived with GetStarlarkValue. Since changes to the starlark files mean that soong has to rerun, add them as ninja deps. Unfortunately, the starlark code has to be run at runtime rather than pregenerating their results, because tests run from intellij wouldn't go through any pregeneration steps. This means that starlark is run multiple times during the build, once per test package and once per primary builder invocation. (currently 3, could be reduced to 2 if we made the symlink forest generation into its own standalone tool) The starlark code we have so far in this cl is very fast, roughly half a millisecond, so it's not a big deal for now, but something to keep an eye on as we add more starlark constants. Bug: 279095899 Test: go test Change-Id: I1e7ca1df1d8d67333cbfc46e8396e229820e4476 --- go.work | 2 ++ 1 file changed, 2 insertions(+) (limited to 'go.work') diff --git a/go.work b/go.work index 737a9df96..67f654908 100644 --- a/go.work +++ b/go.work @@ -4,6 +4,7 @@ use ( . ../../external/go-cmp ../../external/golang-protobuf + ../../external/starlark-go ../../prebuilts/bazel/common/proto/analysis_v2 ../../prebuilts/bazel/common/proto/build ../blueprint @@ -16,4 +17,5 @@ replace ( google.golang.org/protobuf v0.0.0 => ../../external/golang-protobuf prebuilts/bazel/common/proto/analysis_v2 v0.0.0 => ../../prebuilts/bazel/common/proto/analysis_v2 prebuilts/bazel/common/proto/build v0.0.0 => ../../prebuilts/bazel/common/proto/build + go.starlark.net v0.0.0 => ../../external/starlark-go ) -- cgit v1.2.3-59-g8ed1b