Removing javac attribute from java_toolchain rule.

javac can be specified using tools attribute. It is not provided by JavaToolchain provider any more.

LocationBuilder in JavaToolchain class can be removed, because alias resolution in $location function was fixed with b/117612331.

RELNOTES[inc]: Removing javac attribute from java_toolchain.

PiperOrigin-RevId: 343801252
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java
index 680b2e1..d5f4720 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchain.java
@@ -17,14 +17,12 @@
 import static com.google.common.collect.Iterables.getOnlyElement;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableCollection;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableListMultimap;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
-import com.google.devtools.build.lib.analysis.AliasProvider;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.FilesToRunProvider;
 import com.google.devtools.build.lib.analysis.PrerequisiteArtifacts;
@@ -33,9 +31,7 @@
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.Runfiles;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
-import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
-import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
@@ -61,7 +57,6 @@
         ruleContext.attributes().get("javac_supports_workers", Type.BOOLEAN);
     boolean javacSupportsMultiplexWorkers =
         ruleContext.attributes().get("javac_supports_multiplex_workers", Type.BOOLEAN);
-    Artifact javac = ruleContext.getPrerequisiteArtifact("javac");
     FilesToRunProvider javabuilder = ruleContext.getExecutablePrerequisite("javabuilder");
     FilesToRunProvider headerCompiler = ruleContext.getExecutablePrerequisite("header_compiler");
     FilesToRunProvider headerCompilerDirect =
@@ -89,29 +84,17 @@
         getCompatibleJavacOptions(ruleContext);
 
     NestedSet<Artifact> tools = PrerequisiteArtifacts.nestedSet(ruleContext, "tools");
-    if (javac != null) {
-      tools = NestedSetBuilder.fromNestedSet(tools).add(javac).build();
-    }
 
-    TransitiveInfoCollection javacDep = ruleContext.getPrerequisite("javac");
-
-    ImmutableMap.Builder<Label, ImmutableCollection<Artifact>> locationsBuilder =
-        ImmutableMap.builder();
-    if (javacDep != null) {
-      locationsBuilder.put(AliasProvider.getDependencyLabel(javacDep), ImmutableList.of(javac));
-    }
-    ImmutableMap<Label, ImmutableCollection<Artifact>> locations = locationsBuilder.build();
-
-    ImmutableList<String> jvmOpts = getJvmOpts(ruleContext, locations, "jvm_opts");
+    ImmutableList<String> jvmOpts = getJvmOpts(ruleContext, "jvm_opts");
     ImmutableList<String> javabuilderJvmOpts =
         ImmutableList.<String>builder()
             .addAll(jvmOpts)
-            .addAll(getJvmOpts(ruleContext, locations, "javabuilder_jvm_opts"))
+            .addAll(getJvmOpts(ruleContext, "javabuilder_jvm_opts"))
             .build();
     ImmutableList<String> turbineJvmOpts =
         ImmutableList.<String>builder()
             .addAll(jvmOpts)
-            .addAll(getJvmOpts(ruleContext, locations, "turbine_jvm_opts"))
+            .addAll(getJvmOpts(ruleContext, "turbine_jvm_opts"))
             .build();
 
     ImmutableList<JavaPackageConfigurationProvider> packageConfiguration =
@@ -196,9 +179,8 @@
 
   private static ImmutableList<String> getJvmOpts(
       RuleContext ruleContext,
-      ImmutableMap<Label, ImmutableCollection<Artifact>> locations,
       String attribute) {
-    return ruleContext.getExpander().withExecLocations(locations).list(attribute);
+    return ruleContext.getExpander().withExecLocations(ImmutableMap.of()).list(attribute);
   }
 
   private static BootClassPathInfo getBootClassPathInfo(RuleContext ruleContext) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
index 6127507..4e2f3d7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainRule.java
@@ -110,15 +110,6 @@
         True if JavaBuilder supports running as a multiplex persistent worker, false if it doesn't.
         <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
         .add(attr("javac_supports_multiplex_workers", BOOLEAN).value(true))
-        /* <!-- #BLAZE_RULE(java_toolchain).ATTRIBUTE(javac) -->
-        Label of the javac jar.
-        <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
-        .add(
-            attr("javac", LABEL_LIST)
-                // This needs to be in the execution configuration.
-                .cfg(ExecutionTransitionFactory.create())
-                .singleArtifact()
-                .allowedFileTypes(FileTypeSet.ANY_FILE))
         /* <!-- #BLAZE_RULE(java_toolchain).ATTRIBUTE(tools) -->
         Labels of tools available for label-expansion in jvm_opts.
         <!-- #END_BLAZE_RULE.ATTRIBUTE --> */