Delete the flag incompatible_bzl_disallow_load_after_statement
https://github.com/bazelbuild/bazel/issues/5815
RELNOTES: The flag `incompatible_bzl_disallow_load_after_statement` is removed.
PiperOrigin-RevId: 302473246
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
index 02981d0..a540379 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java
@@ -265,20 +265,6 @@
public boolean experimentalSiblingRepositoryLayout;
@Option(
- name = "incompatible_bzl_disallow_load_after_statement",
- defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.STARLARK_SEMANTICS,
- effectTags = {OptionEffectTag.BUILD_FILE_SEMANTICS},
- metadataTags = {
- OptionMetadataTag.INCOMPATIBLE_CHANGE,
- OptionMetadataTag.TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES
- },
- help =
- "If set to true, all `load` must be called at the top of .bzl files, before any other "
- + "statement.")
- public boolean incompatibleBzlDisallowLoadAfterStatement;
-
- @Option(
name = "experimental_allow_tags_propagation",
oldName = "incompatible_allow_tags_propagation",
defaultValue = "false",
@@ -706,7 +692,6 @@
.experimentalDisableExternalPackage(experimentalDisableExternalPackage)
.experimentalSiblingRepositoryLayout(experimentalSiblingRepositoryLayout)
.incompatibleApplicableLicenses(incompatibleApplicableLicenses)
- .incompatibleBzlDisallowLoadAfterStatement(incompatibleBzlDisallowLoadAfterStatement)
.incompatibleDepsetUnion(incompatibleDepsetUnion)
.incompatibleDisableTargetProviderFields(incompatibleDisableTargetProviderFields)
.incompatibleDisableThirdPartyLicenseChecking(
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 ffcd0a8..28c7dd7 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
@@ -220,8 +220,6 @@
public abstract boolean incompatibleApplicableLicenses();
- public abstract boolean incompatibleBzlDisallowLoadAfterStatement();
-
public abstract boolean incompatibleDepsetUnion();
public abstract boolean incompatibleDisableTargetProviderFields();
@@ -328,7 +326,6 @@
.experimentalSiblingRepositoryLayout(false)
.incompatibleAlwaysCheckDepsetElements(true)
.incompatibleApplicableLicenses(false)
- .incompatibleBzlDisallowLoadAfterStatement(true)
.incompatibleDepsetUnion(true)
.incompatibleDisableTargetProviderFields(false)
.incompatibleDisableThirdPartyLicenseChecking(true)
@@ -400,8 +397,6 @@
public abstract Builder incompatibleApplicableLicenses(boolean value);
- public abstract Builder incompatibleBzlDisallowLoadAfterStatement(boolean value);
-
public abstract Builder incompatibleDepsetUnion(boolean value);
public abstract Builder incompatibleDisableTargetProviderFields(boolean value);
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
index 5b8d0ed..15afd2a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
@@ -446,9 +446,7 @@
statement.getStartLocation(),
"load() statements must be called before any other statement. "
+ "First non-load() statement appears at "
- + firstStatement
- + ". Use --incompatible_bzl_disallow_load_after_statement=false to temporarily "
- + "disable this check.");
+ + firstStatement);
}
if (firstStatement == null) {
@@ -459,7 +457,7 @@
private void validateToplevelStatements(List<Statement> statements) {
// Check that load() statements are on top.
- if (!isBuildFile && semantics.incompatibleBzlDisallowLoadAfterStatement()) {
+ if (!isBuildFile) {
checkLoadAfterStatement(statements);
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
index 099e33f..e80bf34 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
@@ -141,7 +141,6 @@
"--experimental_repo_remote_exec=" + rand.nextBoolean(),
"--incompatible_always_check_depset_elements=" + rand.nextBoolean(),
"--incompatible_applicable_licenses=" + rand.nextBoolean(),
- "--incompatible_bzl_disallow_load_after_statement=" + rand.nextBoolean(),
"--incompatible_depset_for_libraries_to_link_getter=" + rand.nextBoolean(),
"--incompatible_depset_union=" + rand.nextBoolean(),
"--incompatible_disable_target_provider_fields=" + rand.nextBoolean(),
@@ -197,7 +196,6 @@
.experimentalRepoRemoteExec(rand.nextBoolean())
.incompatibleAlwaysCheckDepsetElements(rand.nextBoolean())
.incompatibleApplicableLicenses(rand.nextBoolean())
- .incompatibleBzlDisallowLoadAfterStatement(rand.nextBoolean())
.incompatibleDepsetForLibrariesToLinkGetter(rand.nextBoolean())
.incompatibleDepsetUnion(rand.nextBoolean())
.incompatibleDisableTargetProviderFields(rand.nextBoolean())
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
index 7f2aa10..efadf48 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
@@ -90,7 +90,6 @@
@Test
public void testLoadAfterStatement() throws Exception {
- setSemantics("--incompatible_bzl_disallow_load_after_statement=true");
assertInvalid(
"load() statements must be called before any other statement", //
"a = 5",
@@ -98,14 +97,6 @@
}
@Test
- public void testAllowLoadAfterStatement() throws Exception {
- setSemantics("--incompatible_bzl_disallow_load_after_statement=false");
- assertValid(
- "a = 5", //
- "load(':b.bzl', 'c')");
- }
-
- @Test
public void testLoadDuplicateSymbols() throws Exception {
assertInvalid(
"load statement defines 'x' more than once", //