Delete the now unused --experimental_create_py_symlinks flag.

PiperOrigin-RevId: 620061214
Change-Id: Ifc620ae4d054af4c4a400d0fe92d2ebcb7a68bc5
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
index f40dc6e..1011898 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
@@ -105,7 +105,6 @@
 import com.google.devtools.build.lib.rules.platform.PlatformRules;
 import com.google.devtools.build.lib.rules.proto.BazelProtoCommon;
 import com.google.devtools.build.lib.rules.proto.ProtoConfiguration;
-import com.google.devtools.build.lib.rules.python.PyRuleClasses.Py3Symlink;
 import com.google.devtools.build.lib.rules.python.PyRuntimeRule;
 import com.google.devtools.build.lib.rules.python.PythonConfiguration;
 import com.google.devtools.build.lib.rules.repository.CoreWorkspaceRules;
@@ -445,7 +444,6 @@
                   Starlark.NONE, PyBootstrap.allowedRepositories));
           builder.addStarlarkBuiltinsInternal(BazelPyBuiltins.NAME, new BazelPyBuiltins());
           builder.addStarlarkBootstrap(new PyBootstrap());
-          builder.addSymlinkDefinition(Py3Symlink.INSTANCE);
 
           try {
             builder.addWorkspaceFileSuffix(
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java
index 94fe4e9..f4c4993 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequestOptions.java
@@ -324,21 +324,6 @@
   }
 
   @Option(
-      name = "experimental_create_py_symlinks",
-      defaultValue = "false",
-      documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
-      effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
-      help =
-          "If enabled, two convenience symlinks, `py2` and `py3`, will be created (with the"
-              + " appropriate prefix). These point to the output directories for the Python 2 and"
-              + " Python 3 configurations, respectively. This can be used to access outputs in the"
-              + " bin directory of a specific Python version. For instance, if --symlink_prefix is"
-              + " `foo-`, the path `foo-py2/bin` behaves like `foo-bin` except that it is"
-              + " guaranteed to contain artifacts built in the Python 2 configuration. IMPORTANT:"
-              + " This flag is not planned to be enabled by default, and should not be relied on.")
-  public boolean experimentalCreatePySymlinks;
-
-  @Option(
       name = "use_action_cache",
       defaultValue = "true",
       documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/BUILD b/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
index 9b034314..1e580dd 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
@@ -18,13 +18,11 @@
     ),
     deps = [
         "//src/main/java/com/google/devtools/build/docgen/annot",
-        "//src/main/java/com/google/devtools/build/lib:build-request-options",
         "//src/main/java/com/google/devtools/build/lib/actions",
         "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
         "//src/main/java/com/google/devtools/build/lib/analysis:actions/abstract_file_write_action",
         "//src/main/java/com/google/devtools/build/lib/analysis:actions/deterministic_writer",
         "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
-        "//src/main/java/com/google/devtools/build/lib/analysis:config/build_configuration",
         "//src/main/java/com/google/devtools/build/lib/analysis:config/build_options",
         "//src/main/java/com/google/devtools/build/lib/analysis:config/core_option_converters",
         "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment",
@@ -42,13 +40,11 @@
         "//src/main/java/com/google/devtools/build/lib/packages/semantics",
         "//src/main/java/com/google/devtools/build/lib/rules/cpp",
         "//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
-        "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
         "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python",
         "//src/main/java/com/google/devtools/build/lib/util",
         "//src/main/java/com/google/devtools/build/lib/util:filetype",
         "//src/main/java/com/google/devtools/build/lib/util:os",
-        "//src/main/java/com/google/devtools/build/lib/vfs",
         "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
         "//src/main/java/com/google/devtools/common/options",
         "//src/main/java/net/starlark/java/annot",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuleClasses.java
index 376482e..ebf7182 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuleClasses.java
@@ -13,20 +13,8 @@
 // limitations under the License.
 package com.google.devtools.build.lib.rules.python;
 
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
-
-import com.google.common.base.Ascii;
-import com.google.common.collect.ImmutableSet;
-import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
-import com.google.devtools.build.lib.analysis.config.BuildOptions;
-import com.google.devtools.build.lib.analysis.config.SymlinkDefinition;
-import com.google.devtools.build.lib.buildtool.BuildRequestOptions;
-import com.google.devtools.build.lib.cmdline.RepositoryName;
 import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet;
 import com.google.devtools.build.lib.util.FileType;
-import com.google.devtools.build.lib.vfs.Path;
-import java.util.Set;
-import java.util.function.Function;
 
 /** Rule definitions for Python rules. */
 public class PyRuleClasses {
@@ -44,45 +32,4 @@
           return String.format("has to be one of 'PY2' or 'PY3' instead of '%s'", value);
         }
       };
-
-  /** The py3 symlinks. */
-  public static final class Py3Symlink implements SymlinkDefinition {
-    public static final Py3Symlink INSTANCE = new Py3Symlink();
-
-    @Override
-    public String getLinkName(String symlinkPrefix, String workspaceBaseName) {
-      return symlinkPrefix + Ascii.toLowerCase(PythonVersion.PY3.toString());
-    }
-
-    @Override
-    public ImmutableSet<Path> getLinkPaths(
-        BuildRequestOptions buildRequestOptions,
-        Set<BuildConfigurationValue> targetConfigs,
-        Function<BuildOptions, BuildConfigurationValue> configGetter,
-        RepositoryName repositoryName,
-        Path outputPath,
-        Path execRoot) {
-      if (!buildRequestOptions.experimentalCreatePySymlinks) {
-        return ImmutableSet.of();
-      }
-
-      return targetConfigs.stream()
-          .map(
-              config -> {
-                BuildOptions options = config.getOptions();
-                PythonOptions opts =
-                    options.hasNoConfig() ? null : options.get(PythonOptions.class);
-                if (opts == null || !opts.canTransitionPythonVersion(PythonVersion.PY3)) {
-                  return config;
-                } else {
-                  BuildOptions newOptions = options.clone();
-                  newOptions.get(PythonOptions.class).setPythonVersion(PythonVersion.PY3);
-                  return configGetter.apply(newOptions);
-                }
-              })
-          .map(config -> config.getOutputDirectory(repositoryName).getRoot().asPath())
-          .distinct()
-          .collect(toImmutableSet());
-    }
-  }
 }