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