Flip --incompatible_require_ctx_in_configure_features
Last run of the CI (https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/124) shows only Tensorflow and Envoy issues. Envoy is fixed by https://github.com/envoyproxy/envoy/pull/7058, and Tensorflow is fixed in Bazel@HEAD by https://github.com/bazelbuild/bazel/commit/cab65ff6f2a81bac81af781f77cf6c2ed023ce8f.
RELNOTES: Incompatible flag `--incompatible_require_ctx_in_configure_features` has been flipped. See https://github.com/bazelbuild/bazel/issues/7793 for more information.
PiperOrigin-RevId: 250458681
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
index aa1573e..58fd83c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
@@ -754,7 +754,7 @@
@Option(
name = "incompatible_require_ctx_in_configure_features",
- defaultValue = "false",
+ defaultValue = "true",
documentationCategory = OptionDocumentationCategory.TOOLCHAIN,
effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
metadataTags = {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
index e84df9c..1e3cf1d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
@@ -50,7 +50,10 @@
"MyInfo = provider()",
"def _impl(ctx):",
" provider = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = provider)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = provider,",
+ " )",
" return MyInfo(",
" dirs = provider.built_in_include_directories,",
" sysroot = provider.sysroot,",
@@ -63,7 +66,8 @@
"",
"my_rule = rule(",
" _impl,",
- " attrs = {'_cc_toolchain': attr.label(default=Label('//test:toolchain')) }",
+ " attrs = {'_cc_toolchain': attr.label(default=Label('//test:toolchain'))},",
+ " fragments = [ 'cpp' ],",
")");
scratch.file("test/BUILD",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 22ec1a0..2a2a4ee 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -199,7 +199,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" action_tool_path = cc_common.get_tool_for_action(",
" feature_configuration = feature_configuration,",
@@ -248,6 +251,7 @@
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
" feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
" cc_toolchain = toolchain,",
" requested_features = ['foo_feature'])",
" return [MyInfo(",
@@ -287,6 +291,7 @@
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
" feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
" cc_toolchain = toolchain,",
" unsupported_features = ['foo_feature'])",
" return [MyInfo(",
@@ -320,7 +325,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" command_line = cc_common.get_memory_inefficient_command_line(",
" feature_configuration = feature_configuration,",
@@ -366,7 +374,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" environment_variables = cc_common.get_environment_variables(",
" feature_configuration = feature_configuration,",
@@ -413,7 +424,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" enabled_action = cc_common.action_is_enabled(",
" feature_configuration = feature_configuration,",
@@ -451,7 +465,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" enabled_feature = cc_common.is_enabled(",
" feature_configuration = feature_configuration,",
@@ -539,7 +556,10 @@
" 'STRIP_ACTION_NAME')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" return [MyInfo(",
" c_compile_action_name=C_COMPILE_ACTION_NAME,",
" cpp_compile_action_name=CPP_COMPILE_ACTION_NAME,",
@@ -937,7 +957,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" variables = " + Joiner.on("\n").join(variables),
" return [MyInfo(",
" command_line = cc_common.get_memory_inefficient_command_line(",
@@ -1317,7 +1340,10 @@
" alwayslink=alwayslink)",
"def _impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" library_to_link = _create(ctx, feature_configuration, ctx.file.static_library, ",
" ctx.file.pic_static_library, ctx.file.dynamic_library, ctx.file.interface_library,",
" ctx.attr.alwayslink)",
@@ -5277,6 +5303,7 @@
"def _cc_aspect_impl(target, ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
" feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
" cc_toolchain = toolchain,",
" requested_features = ctx.features,",
" unsupported_features = ctx.disabled_features,",
@@ -5315,6 +5342,7 @@
" dep_linking_contexts.append(dep[CcInfo].linking_context)",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
" feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
" cc_toolchain=toolchain,",
" requested_features = ctx.features,",
" unsupported_features = ctx.disabled_features)",
@@ -5511,7 +5539,10 @@
"load('//myinfo:myinfo.bzl', 'MyInfo')",
"def _cc_bin_impl(ctx):",
" toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
- " feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+ " feature_configuration = cc_common.configure_features(",
+ " ctx = ctx,",
+ " cc_toolchain = toolchain,",
+ " )",
" dep_linking_contexts = []",
" for dep in ctx.attr.deps:",
" dep_linking_contexts.append(dep[CcInfo].linking_context)",