Introduce flag --incompatible_no_kwargs_in_build_files
Implements https://github.com/bazelbuild/bazel/issues/8021
When it is enabled, **kwargs and *args are not allowed in BUILD files.
Without this flag, the ban on **kwarg and *args is not fully working.
RELNOTES: New flag `--incompatible_no_kwargs_in_build_files`. See https://github.com/bazelbuild/bazel/issues/8021
PiperOrigin-RevId: 243325744
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
index 65fc952..d4cb286 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java
@@ -160,6 +160,8 @@
public abstract boolean incompatibleNoAttrLicense();
+ public abstract boolean incompatibleNoKwargsInBuildFiles();
+
public abstract boolean incompatibleNoOutputAttrDefault();
public abstract boolean incompatibleNoSupportToolsInActionInputs();
@@ -218,6 +220,7 @@
.incompatibleExpandDirectories(true)
.incompatibleNewActionsApi(false)
.incompatibleNoAttrLicense(true)
+ .incompatibleNoKwargsInBuildFiles(false)
.incompatibleNoOutputAttrDefault(false)
.incompatibleNoSupportToolsInActionInputs(false)
.incompatibleNoTargetOutputGroup(false)
@@ -280,6 +283,8 @@
public abstract Builder incompatibleNewActionsApi(boolean value);
+ public abstract Builder incompatibleNoKwargsInBuildFiles(boolean value);
+
public abstract Builder incompatibleNoAttrLicense(boolean value);
public abstract Builder incompatibleNoOutputAttrDefault(boolean value);