Skip to content

Commit 8d375a9

Browse files
tjgqcopybara-github
authored andcommitted
Make the --incompatible_disallow_symlink_file_to_dir flag a no-op in preparation for removal.
PiperOrigin-RevId: 539592265 Change-Id: Ib542d5e86660a8959b1c2a521a9bcf217b74d770
1 parent 77f8603 commit 8d375a9

File tree

3 files changed

+2
-19
lines changed

3 files changed

+2
-19
lines changed

src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkActionFactory.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import static com.google.devtools.build.lib.analysis.starlark.StarlarkRuleContext.checkPrivateAccess;
1717
import static com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions.EXPERIMENTAL_SIBLING_REPOSITORY_LAYOUT;
18-
import static com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions.INCOMPATIBLE_DISALLOW_SYMLINK_FILE_TO_DIR;
1918

2019
import com.google.common.base.Joiner;
2120
import com.google.common.collect.ImmutableList;
@@ -307,11 +306,7 @@ public void symlink(
307306
+ "declare_directory() instead of declare_symlink()?)");
308307
}
309308

310-
boolean inputOutputMismatch =
311-
getSemantics().getBool(INCOMPATIBLE_DISALLOW_SYMLINK_FILE_TO_DIR)
312-
? inputArtifact.isDirectory() != outputArtifact.isDirectory()
313-
: !inputArtifact.isDirectory() && outputArtifact.isDirectory();
314-
if (inputOutputMismatch) {
309+
if (inputArtifact.isDirectory() != outputArtifact.isDirectory()) {
315310
String inputType = inputArtifact.isDirectory() ? "directory" : "file";
316311
String outputType = outputArtifact.isDirectory() ? "directory" : "file";
317312
throw Starlark.errorf(

src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ public final class BuildLanguageOptions extends OptionsBase {
9191
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
9292
effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
9393
metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE},
94-
help =
95-
"If set to true, `ctx.actions.symlink` will disallow symlinking a file into a directory.")
94+
help = "No-op.")
9695
public boolean incompatibleDisallowSymlinkFileToDir;
9796

9897
@Option(
@@ -676,8 +675,6 @@ public StarlarkSemantics toStarlarkSemantics() {
676675
INCOMPATIBLE_STOP_EXPORTING_LANGUAGE_MODULES,
677676
incompatibleStopExportingLanguageModules)
678677
.setBool(INCOMPATIBLE_REMOVE_RULE_NAME_PARAMETER, incompatibleRemoveRuleNameParameter)
679-
.setBool(
680-
INCOMPATIBLE_DISALLOW_SYMLINK_FILE_TO_DIR, incompatibleDisallowSymlinkFileToDir)
681678
.setBool(EXPERIMENTAL_ALLOW_TAGS_PROPAGATION, experimentalAllowTagsPropagation)
682679
.set(EXPERIMENTAL_BUILTINS_BZL_PATH, experimentalBuiltinsBzlPath)
683680
.setBool(EXPERIMENTAL_BUILTINS_DUMMY, experimentalBuiltinsDummy)
@@ -768,8 +765,6 @@ public StarlarkSemantics toStarlarkSemantics() {
768765
"-incompatible_stop_exporting_language_modules";
769766
public static final String INCOMPATIBLE_REMOVE_RULE_NAME_PARAMETER =
770767
"+incompatible_remove_rule_name_parameter";
771-
public static final String INCOMPATIBLE_DISALLOW_SYMLINK_FILE_TO_DIR =
772-
"+incompatible_disallow_symlink_file_to_dir";
773768
public static final String EXPERIMENTAL_ALLOW_TAGS_PROPAGATION =
774769
"-experimental_allow_tags_propagation";
775770
public static final String EXPERIMENTAL_BUILTINS_DUMMY = "-experimental_builtins_dummy";

src/test/shell/bazel/bazel_symlink_test.sh

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -507,13 +507,6 @@ EOF
507507

508508
bazel build //a:a >& $TEST_log && fail "build succeeded"
509509
expect_log "symlink() with \"target_file\" directory param requires that \"output\" be declared as a directory"
510-
511-
bazel build --noincompatible_disallow_symlink_file_to_dir //a:a || fail "build failed"
512-
assert_contains "Hello, World!" bazel-bin/a/a.link/inside.txt
513-
expect_symlink bazel-bin/a/a.link
514-
515-
bazel build --incompatible_disallow_symlink_file_to_dir //a:a >& $TEST_log && fail "build succeeded"
516-
expect_log "symlink() with \"target_file\" directory param requires that \"output\" be declared as a directory"
517510
}
518511

519512
function test_symlink_directory_to_file_created_from_symlink_action() {

0 commit comments

Comments
 (0)