Automated rollback of commit bd409118cc2e0ab96a3386abd5275fe5fc0a9eb4.

*** Reason for rollback ***

Causing TGP to fail

*** Original change description ***

Do not load the package involved when ModuleEnvironment#getFileFromWorkspace() is called.

RELNOTES: None.

***

PiperOrigin-RevId: 224165964
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
index 6d3d6c5..3221a28 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
@@ -26,6 +26,7 @@
 import com.google.devtools.build.lib.clock.Clock;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.exec.ExecutorBuilder;
+import com.google.devtools.build.lib.packages.NoSuchThingException;
 import com.google.devtools.build.lib.packages.Package;
 import com.google.devtools.build.lib.packages.PackageFactory;
 import com.google.devtools.build.lib.skyframe.PrecomputedValue;
@@ -39,6 +40,7 @@
 import com.google.devtools.common.options.OptionsBase;
 import com.google.devtools.common.options.OptionsParsingResult;
 import com.google.devtools.common.options.OptionsProvider;
+import java.io.IOException;
 import java.util.UUID;
 import javax.annotation.Nullable;
 
@@ -339,10 +341,11 @@
    */
   public interface ModuleEnvironment {
     /**
-     * Gets a file from the depot based on its label and returns the {@link Path} where it can be
-     * found.
+     * Gets a file from the depot based on its label and returns the {@link Path} where it can
+     * be found.
      */
-    Path getFileFromWorkspace(Label label);
+    Path getFileFromWorkspace(Label label)
+        throws NoSuchThingException, InterruptedException, IOException;
 
     /**
      * Exits Blaze as early as possible by sending an interrupt to the command's main thread.
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
index 3250b57..04aeb2b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
@@ -26,7 +26,9 @@
 import com.google.devtools.build.lib.analysis.config.DefaultsPackage;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.events.Reporter;
+import com.google.devtools.build.lib.packages.NoSuchThingException;
 import com.google.devtools.build.lib.packages.SkylarkSemanticsOptions;
+import com.google.devtools.build.lib.packages.Target;
 import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
 import com.google.devtools.build.lib.pkgcache.PackageManager;
 import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
@@ -96,9 +98,10 @@
 
   private class BlazeModuleEnvironment implements BlazeModule.ModuleEnvironment {
     @Override
-    public Path getFileFromWorkspace(Label label) {
-      Path buildFile = getPackageManager().getBuildFileForPackage(label.getPackageIdentifier());
-      return buildFile.getParentDirectory().getRelative(label.getName());
+    public Path getFileFromWorkspace(Label label)
+        throws NoSuchThingException, InterruptedException, IOException {
+      Target target = getPackageManager().getTarget(reporter, label);
+      return target.getPackage().getPackageDirectory().getRelative(target.getName());
     }
 
     @Override