New incompatible flag to disable PACKAGE_NAME and REPOSITORY_NAME.
RELNOTES[INC]:
Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in favor of
functions `package_name()` and `repository_name()`.
https://docs.bazel.build/versions/master/skylark/lib/native.html#package_name
PiperOrigin-RevId: 190657188
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java b/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java
index e201a0e..419cc99 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java
@@ -96,6 +96,26 @@
if (name.equals("$error$")) {
return new EvalException(getLocation(), "contains syntax error(s)", true);
}
+
+ if (name.equals("PACKAGE_NAME")) {
+ return new EvalException(
+ getLocation(),
+ "The value 'PACKAGE_NAME' has been removed in favor of 'package_name()', "
+ + "please use the latter ("
+ + "https://docs.bazel.build/versions/master/skylark/lib/native.html#package_name). "
+ + "You can temporarily allow the old name "
+ + "by using --incompatiblePackageNameIsAFunction=false");
+ }
+ if (name.equals("REPOSITORY_NAME")) {
+ return new EvalException(
+ getLocation(),
+ "The value 'REPOSITORY_NAME' has been removed in favor of 'repository_name()', "
+ + "please use the latter ("
+ + "https://docs.bazel.build/versions/master/skylark/lib/native.html#repository_name)."
+ + " You can temporarily allow the old name "
+ + "by using --incompatiblePackageNameIsAFunction=false");
+ }
+
String suggestion = SpellChecker.didYouMean(name, symbols);
return new EvalException(getLocation(), "name '" + name + "' is not defined" + suggestion);
}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
index 05208dc..46f3f1a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
@@ -40,17 +40,31 @@
// <== Add new options here in alphabetic order ==>
public abstract boolean incompatibleBzlDisallowLoadAfterStatement();
+
public abstract boolean incompatibleDepsetIsNotIterable();
+
public abstract boolean incompatibleDepsetUnion();
+
public abstract boolean incompatibleDisableGlobTracking();
+
public abstract boolean incompatibleDisableObjcProviderResources();
+
public abstract boolean incompatibleDisallowDictPlus();
+
public abstract boolean incompatibleDisallowThreeArgVardef();
+
public abstract boolean incompatibleDisallowToplevelIfStatement();
+
public abstract boolean incompatibleNewActionsApi();
+
+ public abstract boolean incompatiblePackageNameIsAFunction();
+
public abstract boolean incompatibleRemoveNativeGitRepository();
+
public abstract boolean incompatibleRemoveNativeHttpArchive();
+
public abstract boolean incompatibleStringIsNotIterable();
+
public abstract boolean internalSkylarkFlagTestCanary();
/** Returns a {@link Builder} initialized with the values of this instance. */
@@ -77,6 +91,7 @@
.incompatibleDisallowThreeArgVardef(false)
.incompatibleDisallowToplevelIfStatement(true)
.incompatibleNewActionsApi(false)
+ .incompatiblePackageNameIsAFunction(false)
.incompatibleRemoveNativeGitRepository(false)
.incompatibleRemoveNativeHttpArchive(false)
.incompatibleStringIsNotIterable(false)
@@ -89,17 +104,31 @@
// <== Add new options here in alphabetic order ==>
public abstract Builder incompatibleBzlDisallowLoadAfterStatement(boolean value);
+
public abstract Builder incompatibleDepsetIsNotIterable(boolean value);
+
public abstract Builder incompatibleDepsetUnion(boolean value);
+
public abstract Builder incompatibleDisableGlobTracking(boolean value);
+
public abstract Builder incompatibleDisableObjcProviderResources(boolean value);
+
public abstract Builder incompatibleDisallowDictPlus(boolean value);
+
public abstract Builder incompatibleDisallowThreeArgVardef(boolean value);
+
public abstract Builder incompatibleDisallowToplevelIfStatement(boolean value);
+
public abstract Builder incompatibleNewActionsApi(boolean value);
+
+ public abstract Builder incompatiblePackageNameIsAFunction(boolean value);
+
public abstract Builder incompatibleRemoveNativeGitRepository(boolean value);
+
public abstract Builder incompatibleRemoveNativeHttpArchive(boolean value);
+
public abstract Builder incompatibleStringIsNotIterable(boolean value);
+
public abstract Builder internalSkylarkFlagTestCanary(boolean value);
public abstract SkylarkSemantics build();