Take into account repository mapping when processing labels inside BUILD files within external repositories.
For example:
a/BUILD
genrule(
name = "a",
srcs = ["@x//:x.txt"],
outs = ["result.txt"],
cmd = "echo hello > \$(location result.txt)"
)
If the main workspace file references that repository with a rule:
local_repository(
name = "other_repo",
path = "../a",
repo_mapping = {"@x" : "@y"}
)
Then when a/BUILD is evaluated, the string "@x//:x.txt" will be turned into a Label "@y//:x.txt"
RELNOTES: None
PiperOrigin-RevId: 201562148
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index d6f7944..3d84851 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -926,6 +926,11 @@
return this;
}
+ /** Get the repository mapping for this package */
+ ImmutableMap<RepositoryName, RepositoryName> getRepositoryMapping() {
+ return this.repositoryMapping;
+ }
+
/**
* Sets the name of this package's BUILD file.
*/