aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
diff options
context:
space:
mode:
authorGravatar dannark <dannark@google.com>2018-06-12 09:28:45 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-12 09:30:48 -0700
commitf4b9ff40b8f1612571cc711560177af240d034d0 (patch)
tree2b2bf5415d7b4a0ab5db78d916cebfec0775f810 /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
parent1b94e64ee8a1d385e92a8d9f4c9a06e2d99c82bf (diff)
Remap repository names inside load statements in BUILD files if the repository name is remapped.
For example if main/WORKSPACE contains: local_repository( name = "a", path = "../a", repo_mapping = {"@x" : "@y"}, ) a/BUILD load("@x//:sample.bzl", "sample") Then the load in a/BUILD will be resolved as "@y//:sample.bzl" RELNOTES: None PiperOrigin-RevId: 200227431
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
index a8d14cae61..d2e7ce8741 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.FileValue;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
@@ -73,6 +74,7 @@ public class WorkspaceASTFunction implements SkyFunction {
BuildFileAST.parseBuildFile(
ParserInputSource.create(bytes, repoWorkspace.asFragment()),
ast.getStatements(),
+ /* repositoryMapping= */ ImmutableMap.of(),
env.getListener());
if (ast.containsErrors()) {
throw new WorkspaceASTFunctionException(
@@ -81,11 +83,14 @@ public class WorkspaceASTFunction implements SkyFunction {
Transience.PERSISTENT);
}
}
- ast = BuildFileAST.parseBuildFile(
- ParserInputSource.create(ruleClassProvider.getDefaultWorkspaceSuffix(),
- PathFragment.create("/DEFAULT.WORKSPACE.SUFFIX")),
- ast.getStatements(),
- env.getListener());
+ ast =
+ BuildFileAST.parseBuildFile(
+ ParserInputSource.create(
+ ruleClassProvider.getDefaultWorkspaceSuffix(),
+ PathFragment.create("/DEFAULT.WORKSPACE.SUFFIX")),
+ ast.getStatements(),
+ /* repositoryMapping= */ ImmutableMap.of(),
+ env.getListener());
if (ast.containsErrors()) {
throw new WorkspaceASTFunctionException(
new BuildFileContainsErrorsException(