From 4552fc9883e0007ccd4a2883458c84f04d8b20da Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 25 Oct 2022 02:55:01 -0700 Subject: [PATCH] Change Starlark builtin helper methods Done to facilitate rewrite of other native rules. RELNOTES:none PiperOrigin-RevId: 483619584 Change-Id: Id36af65150d81723785e8f6a877fbd7a6f612697 --- src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl | 4 +++- .../starlark/builtins_bzl/common/java/java_common.bzl | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl index c3c80d47d2a09f..cc7c1606d48ce2 100644 --- a/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl @@ -881,7 +881,9 @@ def _expand_make_variables_for_copts(ctx, tokenization, unexpanded_tokens, addit def _get_copts(ctx, common, feature_configuration, additional_make_variable_substitutions): if not hasattr(ctx.attr, "copts"): fail("could not find rule attribute named: 'copts'") - package_copts = common.unexpanded_package_copts + package_copts = [] + if common: + package_copts = common.unexpanded_package_copts attribute_copts = ctx.attr.copts tokenization = not (cc_common.is_enabled(feature_configuration = feature_configuration, feature_name = "no_copts_tokenization") or "no_copts_tokenization" in ctx.features) expanded_package_copts = _expand_make_variables_for_copts(ctx, tokenization, package_copts, additional_make_variable_substitutions) diff --git a/src/main/starlark/builtins_bzl/common/java/java_common.bzl b/src/main/starlark/builtins_bzl/common/java/java_common.bzl index bc779652f79103..44453eb2054cf8 100644 --- a/src/main/starlark/builtins_bzl/common/java/java_common.bzl +++ b/src/main/starlark/builtins_bzl/common/java/java_common.bzl @@ -133,10 +133,10 @@ def basic_java_library( ctx.outputs.sourcejar, source_files, source_jars, - _collect_deps(deps + [coverage_config.runner]) if coverage_config and coverage_config.runner else _collect_deps(deps), - _collect_deps(runtime_deps), + collect_deps(deps + [coverage_config.runner]) if coverage_config and coverage_config.runner else collect_deps(deps), + collect_deps(runtime_deps), plugins_javaplugininfo, - _collect_deps(exports), + collect_deps(exports), _collect_plugins(exported_plugins), resources, resource_jars, @@ -208,7 +208,7 @@ def _collect_plugins(plugins): """ return _filter_provider(JavaPluginInfo, plugins) -def _collect_deps(deps): +def collect_deps(deps): """Collects dependencies from an attribute. Use this call to collect plugins from `deps`, `runtime_deps`, or `exports` attribute.