f8231dd0ea
This allows us to set product variables as build settings instead of loading them from a target's provider, which further allows us to read product config variables in transitions. Bug: 287539062 Bug: 269577299 Test: Presubmits Change-Id: I8497703f706162572ceb3486240e1eb02a37f5f6 |
||
---|---|---|
.. | ||
Android.bp | ||
README.md | ||
starlark_import.go | ||
starlark_import_test.go | ||
unmarshal.go | ||
unmarshal_test.go |
starlark_import package
This allows soong to read constant information from starlark files. At package initialization
time, soong will read build/bazel/constants_exported_to_soong.bzl
, and then make the
variables from that file available via starlark_import.GetStarlarkValue()
. So to import
a new variable, it must be added to constants_exported_to_soong.bzl
and then it can
be accessed by name.
Only constant information can be read, since this is not a full bazel execution but a
standalone starlark interpreter. This means you can't use bazel contructs like rule
,
provider
, select
, glob
, etc.
All starlark files that were loaded must be added as ninja deps that cause soong to rerun.
The loaded files can be retrieved via starlark_import.GetNinjaDeps()
.