aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-02-05 22:09:09 +0000
committerGravatar David Chen <dzc@google.com>2016-02-07 11:33:18 +0000
commitbc8b5e09ff667c7d0bf7186a7a207629e6d7bad5 (patch)
treeaa1b70b0471bcdcc6d26c27d0e579971bf0de414 /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
parent26152a6fc8db13f82553770b675e1a355a8e17ae (diff)
Add an intermediate SkyFunction for resolving the external package
The WORKSPACE file parsing needs to be separated into several parts to enable load of labels in the WORKSPACE file. This change adds an intermediate SkyFunction, ExternalPackageFunction, that requires all the WORKSPACE file part to be parsed to resolve //external: labels. Issue #824 Step 1. -- MOS_MIGRATED_REVID=113984026
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
index dc2b0c2979..fd948ee6f6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.WorkspaceFactory;
import com.google.devtools.build.lib.skyframe.PackageFunction.PackageFunctionException;
+import com.google.devtools.build.lib.skyframe.WorkspaceFileValue.WorkspaceFileKey;
import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.vfs.Path;
@@ -53,7 +54,7 @@ public class WorkspaceFileFunction implements SkyFunction {
public SkyValue compute(SkyKey skyKey, Environment env) throws WorkspaceFileFunctionException,
InterruptedException {
- RootedPath workspaceRoot = (RootedPath) skyKey.argument();
+ RootedPath workspaceRoot = ((WorkspaceFileKey) skyKey.argument()).getPath();
WorkspaceASTValue workspaceASTValue =
(WorkspaceASTValue) env.getValue(new SkyKey(SkyFunctions.WORKSPACE_AST, workspaceRoot));
if (workspaceASTValue == null) {
@@ -88,7 +89,7 @@ public class WorkspaceFileFunction implements SkyFunction {
}
}
- return new PackageValue(builder.build());
+ return new WorkspaceFileValue(builder.build(), workspaceRoot, 0, false);
}
@Override