diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapper.java index 94cb5dbd02d8d0..9041b41ecd48a7 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapper.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapper.java @@ -164,11 +164,6 @@ public String getPackageDefaultDeprecation() { return ruleAttributes.getPackageDefaultDeprecation(); } - @Override - public ImmutableList getPackageDefaultCopts() { - return ruleAttributes.getPackageDefaultCopts(); - } - @Override public boolean has(String attrName) { if (ruleAttributes.has(attrName)) { diff --git a/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java index c770057b465223..b62cfb6e4dc373 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java +++ b/src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java @@ -162,11 +162,6 @@ public String getPackageDefaultDeprecation() { return rule.getPackage().getDefaultDeprecation(); } - @Override - public ImmutableList getPackageDefaultCopts() { - return rule.getPackage().getDefaultCopts(); - } - @Override public final void visitAllLabels(BiConsumer consumer) { visitLabels(DependencyFilter.ALL_DEPS, consumer); diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java index 0bbae1ed1162ec..903f4869535602 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java +++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeMap.java @@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.packages; -import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.cmdline.Label; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -148,5 +147,4 @@ default T getOrDefault(String attributeName, Type type, T defaultValue) { String getPackageDefaultDeprecation(); - ImmutableList getPackageDefaultCopts(); } diff --git a/src/main/java/com/google/devtools/build/lib/packages/DelegatingAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/packages/DelegatingAttributeMapper.java index 8415a58eaf099a..1a60dfdd809ed0 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/DelegatingAttributeMapper.java +++ b/src/main/java/com/google/devtools/build/lib/packages/DelegatingAttributeMapper.java @@ -14,7 +14,6 @@ package com.google.devtools.build.lib.packages; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.cmdline.Label; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -113,11 +112,6 @@ public String getPackageDefaultDeprecation() { return delegate.getPackageDefaultDeprecation(); } - @Override - public ImmutableList getPackageDefaultCopts() { - return delegate.getPackageDefaultCopts(); - } - @Override public boolean has(String attrName) { return delegate.has(attrName); diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index 81291861df3724..f8ffd5626efbd4 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -194,9 +194,6 @@ public enum ConfigSettingVisibilityPolicy { */ private String defaultHdrsCheck; - /** Default copts for cc_* rules. The rules' individual copts will append to this value. */ - private ImmutableList defaultCopts; - /** * The InputFile target corresponding to this package's BUILD file. */ @@ -469,11 +466,6 @@ private void finishInit(Builder builder) { this.defaultVisibility = builder.defaultVisibility; this.defaultVisibilitySet = builder.defaultVisibilitySet; this.configSettingVisibilityPolicy = builder.configSettingVisibilityPolicy; - if (builder.defaultCopts == null) { - this.defaultCopts = ImmutableList.of(); - } else { - this.defaultCopts = ImmutableList.copyOf(builder.defaultCopts); - } this.buildFile = builder.buildFile; this.containsErrors = builder.containsErrors; this.failureDetail = builder.getFailureDetail(); @@ -779,14 +771,6 @@ public String getDefaultHdrsCheck() { return defaultHdrsCheck != null ? defaultHdrsCheck : "strict"; } - /** - * Returns the default copts value, to which rules should append their - * specific copts. - */ - public ImmutableList getDefaultCopts() { - return defaultCopts; - } - /** * Returns whether the default header checking mode has been set or it is the * default value. @@ -1004,7 +988,6 @@ public boolean recordLoadedModules() { private RuleVisibility defaultVisibility = ConstantRuleVisibility.PRIVATE; private ConfigSettingVisibilityPolicy configSettingVisibilityPolicy; private boolean defaultVisibilitySet; - private List defaultCopts = null; private final List features = new ArrayList<>(); private final List events = Lists.newArrayList(); private final List posts = Lists.newArrayList(); @@ -1330,13 +1313,6 @@ public Builder setDefaultHdrsCheck(String hdrsCheck) { return this; } - /** Sets the default value of copts. Rule-level copts will append to this. */ - @CanIgnoreReturnValue - public Builder setDefaultCopts(List defaultCopts) { - this.defaultCopts = defaultCopts; - return this; - } - @CanIgnoreReturnValue public Builder addFeatures(Iterable features) { Iterables.addAll(this.features, features); diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index ef06a72ead8aca..3febb6bf7925ee 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -262,18 +262,7 @@ public ImmutableList getCopts() { Preconditions.checkNotNull(getNoCoptsPattern(ruleContext)))); } - return ImmutableList.builder() - .addAll(CppHelper.getPackageCopts(ruleContext)) - .addAll(CppHelper.getAttributeCopts(ruleContext)) - .build(); - } - - // TODO(gnish): Delete this method once package default copts are gone. - // All of the package default copts will be included in rule attribute - // after the migration. - @StarlarkMethod(name = "unexpanded_package_copts", structField = true, documented = false) - public Sequence getUnexpandedPackageCoptsForStarlark() { - return StarlarkList.immutableCopyOf(ruleContext.getRule().getPackage().getDefaultCopts()); + return ImmutableList.copyOf(CppHelper.getAttributeCopts(ruleContext)); } private boolean hasAttribute(String name, Type type) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java index bb13a04e532d5d..02e477b64c3377 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java @@ -129,24 +129,6 @@ public Linkstamp createLinkstamp( } } - static class DefaultCoptsBuiltinComputedDefault extends ComputedDefault - implements NativeComputedDefaultApi { - @Override - public Object getDefault(AttributeMap rule) { - return rule.getPackageDefaultCopts(); - } - - @Override - public boolean resolvableWithRawAttributes() { - return true; - } - } - - @StarlarkMethod(name = "default_copts_computed_default", documented = false) - public ComputedDefault getDefaultCoptsComputedDefault() { - return new DefaultCoptsBuiltinComputedDefault(); - } - static class DefaultHdrsCheckBuiltinComputedDefault extends ComputedDefault implements NativeComputedDefaultApi { @Override diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java index debebf0b0ee024..65eed9ce9bb6da 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java @@ -159,12 +159,6 @@ public static ImmutableList getAttributeCopts(RuleContext ruleContext) { return ImmutableList.copyOf(expandMakeVariables(ruleContext, attr, unexpanded)); } - // Called from CcCommon. - static ImmutableList getPackageCopts(RuleContext ruleContext) { - List unexpanded = ruleContext.getRule().getPackage().getDefaultCopts(); - return ImmutableList.copyOf(expandMakeVariables(ruleContext, "copts", unexpanded)); - } - /** Tokenizes and expands make variables. */ public static List expandLinkopts( RuleContext ruleContext, String attrName, Iterable values) { diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl index d3f3f0058498ca..fe91d266ee416e 100644 --- a/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl @@ -640,7 +640,7 @@ def cc_binary_impl(ctx, additional_linkopts): actions = ctx.actions, feature_configuration = feature_configuration, cc_toolchain = cc_toolchain, - user_compile_flags = cc_helper.get_copts(ctx, common, feature_configuration, additional_make_variable_substitutions), + user_compile_flags = cc_helper.get_copts(ctx, feature_configuration, additional_make_variable_substitutions), defines = common.defines, local_defines = common.local_defines + cc_helper.get_local_defines_for_runfiles_lookup(ctx), loose_includes = common.loose_include_dirs, diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_binary_attrs.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_binary_attrs.bzl index bbafb8ca146f35..58b963ae58db63 100644 --- a/src/main/starlark/builtins_bzl/common/cc/cc_binary_attrs.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_binary_attrs.bzl @@ -90,7 +90,6 @@ cc_binary_attrs_with_aspects = { "_stl": semantics.get_stl(), "_cc_toolchain": attr.label(default = "@" + semantics.get_repo() + "//tools/cpp:current_cc_toolchain"), "_cc_toolchain_type": attr.label(default = "@" + semantics.get_repo() + "//tools/cpp:toolchain_type"), - "_default_copts": attr.string_list(default = cc_internal.default_copts_computed_default()), "_def_parser": semantics.get_def_parser(), } 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 0e93a9092954a3..a21c546c066298 100644 --- a/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl @@ -895,17 +895,13 @@ def _expand_make_variables_for_copts(ctx, tokenization, unexpanded_tokens, addit tokens.append(_expand(ctx, token, additional_make_variable_substitutions)) return tokens -def _get_copts(ctx, common, feature_configuration, additional_make_variable_substitutions): +def _get_copts(ctx, feature_configuration, additional_make_variable_substitutions): if not hasattr(ctx.attr, "copts"): fail("could not find rule attribute named: '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) expanded_attribute_copts = _expand_make_variables_for_copts(ctx, tokenization, attribute_copts, additional_make_variable_substitutions) - return expanded_package_copts + expanded_attribute_copts + return expanded_attribute_copts def _get_expanded_env(ctx, additional_make_variable_substitutions): if not hasattr(ctx.attr, "env"): diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl index 49a47a6964e59f..8fd2ff04416feb 100755 --- a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl @@ -53,7 +53,7 @@ def _cc_library_impl(ctx): name = ctx.label.name, cc_toolchain = cc_toolchain, feature_configuration = feature_configuration, - user_compile_flags = cc_helper.get_copts(ctx, common, feature_configuration, additional_make_variable_substitutions), + user_compile_flags = cc_helper.get_copts(ctx, feature_configuration, additional_make_variable_substitutions), defines = common.defines, local_defines = common.local_defines + cc_helper.get_local_defines_for_runfiles_lookup(ctx), loose_includes = common.loose_include_dirs, @@ -584,7 +584,6 @@ attrs = { "includes": attr.string_list(), "defines": attr.string_list(), "copts": attr.string_list(), - "_default_copts": attr.string_list(default = cc_internal.default_copts_computed_default()), "hdrs_check": attr.string(default = cc_internal.default_hdrs_check_computed_default()), "local_defines": attr.string_list(), "deps": attr.label_list( diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java index 840253b6805fad..7ce49e1bf2c028 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java @@ -17,7 +17,6 @@ import static com.google.devtools.build.lib.packages.BuildType.LABEL; import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST; import static com.google.devtools.build.lib.packages.Type.STRING; -import static com.google.devtools.build.lib.packages.Type.STRING_LIST; import com.google.auto.value.AutoValue; import com.google.common.base.Function; @@ -48,7 +47,6 @@ import com.google.devtools.build.lib.packages.AspectDefinition; import com.google.devtools.build.lib.packages.AspectParameters; import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet; -import com.google.devtools.build.lib.packages.Attribute.ComputedDefault; import com.google.devtools.build.lib.packages.Attribute.LabelListLateBoundDefault; import com.google.devtools.build.lib.packages.AttributeMap; import com.google.devtools.build.lib.packages.BuildType; @@ -443,17 +441,7 @@ public AspectDefinition getDefinition(AspectParameters aspectParameters) { public static final ComputedAttributeAspect COMPUTED_ATTRIBUTE_ASPECT = new ComputedAttributeAspect(); private static final AspectDefinition COMPUTED_ATTRIBUTE_ASPECT_DEFINITION = - new AspectDefinition.Builder(COMPUTED_ATTRIBUTE_ASPECT) - .add( - attr("$default_copts", STRING_LIST) - .value( - new ComputedDefault() { - @Override - public Object getDefault(AttributeMap rule) { - return rule.getPackageDefaultCopts(); - } - })) - .build(); + new AspectDefinition.Builder(COMPUTED_ATTRIBUTE_ASPECT).build(); /** An aspect that defines its own computed default attribute. */ public static class ComputedAttributeAspect extends BaseAspect { diff --git a/src/test/java/com/google/devtools/build/lib/query2/engine/GraphlessQueryTest.java b/src/test/java/com/google/devtools/build/lib/query2/engine/GraphlessQueryTest.java index bd2b6835400ff9..3d81afed41e163 100644 --- a/src/test/java/com/google/devtools/build/lib/query2/engine/GraphlessQueryTest.java +++ b/src/test/java/com/google/devtools/build/lib/query2/engine/GraphlessQueryTest.java @@ -84,12 +84,6 @@ public void testRegressionBug1686119() { // Fileset doesn't exist in Bazel. } - @Override - @Test - public void testDefaultCopts() { - // There's no default_copts attribute in Bazel. - } - @Override @Test public void testHdrsCheck() throws Exception { diff --git a/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java b/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java index 15e34d881d465e..a13fa0d53446da 100644 --- a/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java +++ b/src/test/java/com/google/devtools/build/lib/query2/testutil/AbstractQueryTest.java @@ -1472,12 +1472,6 @@ public void testHdrsCheck() throws Exception { assertThat(eval("attr('hdrs_check', 'loose', //x:all)")).isEqualTo(eval("//x:b")); } - @Test - public void testDefaultCopts() throws Exception { - writeFile("x/BUILD", "package(default_copts=['-a'])", "cc_library(name='a')"); - assertThat(eval("attr('$default_copts', '\\[-a\\]', //x:all)")).isEqualTo(eval("//x:a")); - } - @Test public void testTestSuiteWithFile() throws Exception { // Note that test_suite does not restrict the set of targets that can appear here. diff --git a/src/test/java/com/google/devtools/build/lib/query2/testutil/PostAnalysisQueryTest.java b/src/test/java/com/google/devtools/build/lib/query2/testutil/PostAnalysisQueryTest.java index 3b1486ef7d89a3..3c5ff70dbf91f3 100644 --- a/src/test/java/com/google/devtools/build/lib/query2/testutil/PostAnalysisQueryTest.java +++ b/src/test/java/com/google/devtools/build/lib/query2/testutil/PostAnalysisQueryTest.java @@ -608,9 +608,6 @@ public void testLabelsOperator() {} @Test public void testEqualityOfOrderedThreadSafeImmutableSet() {} - @Override - public void testDefaultCopts() {} - @Override public void testHdrsCheck() {} diff --git a/src/test/java/com/google/devtools/build/lib/testutil/FakeAttributeMapper.java b/src/test/java/com/google/devtools/build/lib/testutil/FakeAttributeMapper.java index 814438095d29a5..2237a74bedad87 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/FakeAttributeMapper.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/FakeAttributeMapper.java @@ -16,7 +16,6 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.Attribute; @@ -137,11 +136,6 @@ public String getPackageDefaultDeprecation() { return "???"; } - @Override - public ImmutableList getPackageDefaultCopts() { - return ImmutableList.of(); - } - public static FakeAttributeMapper empty() { return builder().build(); }