diff options
author | 2016-02-05 22:09:09 +0000 | |
---|---|---|
committer | 2016-02-07 11:33:18 +0000 | |
commit | bc8b5e09ff667c7d0bf7186a7a207629e6d7bad5 (patch) | |
tree | aa1b70b0471bcdcc6d26c27d0e579971bf0de414 /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java | |
parent | 26152a6fc8db13f82553770b675e1a355a8e17ae (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.java | 5 |
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 |