diff --git a/meta/internal/forwarding.bzl b/meta/internal/forwarding.bzl index 9d6e88b..788d901 100644 --- a/meta/internal/forwarding.bzl +++ b/meta/internal/forwarding.bzl @@ -15,6 +15,7 @@ def transition_and_forward_providers_factory( default = "@bazel_tools//tools/allowlists/function_transition_allowlist", ), }) + # This is allowed to collide. rule_name = "apply_transition" if test: @@ -64,7 +65,11 @@ def _transition_and_forward_providers_impl_factory(extra_providers = []): ) if ctx.attr.env: - providers.append(testing.TestEnvironment(ctx.attr.env)) + expanded_env = { + key: ctx.expand_make_variables("env", value, {}) + for key, value in ctx.attr.env.items() + } + providers.append(testing.TestEnvironment(expanded_env)) return providers diff --git a/meta/internal/meta.bzl b/meta/internal/meta.bzl index afe9f6e..9461581 100644 --- a/meta/internal/meta.bzl +++ b/meta/internal/meta.bzl @@ -76,10 +76,13 @@ def wrap_with_transition( def _wrapper_macro(name, visibility = None, tags = None, testonly = None, **kwargs): unsupported_attr = None if is_native_rule: - if kwargs.get("env", default = None) != None and not test: + if kwargs.get("env") != None and not test: unsupported_attr = "env" - elif kwargs.get("env_inherit", default = None) != None: + elif kwargs.get("env_inherit") != None: unsupported_attr = "env_inherit" + elif kwargs.get("args") != None: + unsupported_attr = "args" + if unsupported_attr != None: fail("Setting the '{unsupported_attr}' attribute of '{native_rule_name}' on the transition wrapper generated by rules_meta is not yet supported.".format( unsupported_attr = unsupported_attr,