diff options
author | dannark <dannark@google.com> | 2018-06-12 09:28:45 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-12 09:30:48 -0700 |
commit | f4b9ff40b8f1612571cc711560177af240d034d0 (patch) | |
tree | 2b2bf5415d7b4a0ab5db78d916cebfec0775f810 /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java | |
parent | 1b94e64ee8a1d385e92a8d9f4c9a06e2d99c82bf (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.java | 15 |
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( |