diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/cmdline/Label.java | 4 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/LocalResourceContainer.java | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java index efd87d41e0..b3b31f42a1 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java @@ -248,6 +248,10 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin /** * Returns the path fragment of the package in which this rule was declared (e.g. {@code * //file/base:fileutils_test} returns {@code file/base}). + * + * <p>This is <b>not</b> suitable for inferring a path under which files related to a rule with + * this label will be under the exec root, in particular, it won't work for rules in external + * repositories. */ public PathFragment getPackageFragment() { return packageIdentifier.getPackageFragment(); diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/LocalResourceContainer.java b/src/main/java/com/google/devtools/build/lib/rules/android/LocalResourceContainer.java index 5e017b0ccf..f7558f35a7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/LocalResourceContainer.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/LocalResourceContainer.java @@ -170,7 +170,8 @@ public final class LocalResourceContainer { PathFragment assetsDir, Iterable<FileProvider> targets) { for (FileProvider target : targets) { for (Artifact file : target.getFilesToBuild()) { - PathFragment packageFragment = file.getArtifactOwner().getLabel().getPackageFragment(); + PathFragment packageFragment = file.getArtifactOwner().getLabel() + .getPackageIdentifier().getPathFragment(); PathFragment packageRelativePath = file.getRootRelativePath().relativeTo(packageFragment); if (packageRelativePath.startsWith(assetsDir)) { @@ -198,7 +199,8 @@ public final class LocalResourceContainer { Artifact lastFile = null; for (FileProvider target : targets) { for (Artifact file : target.getFilesToBuild()) { - PathFragment packageFragment = file.getArtifactOwner().getLabel().getPackageFragment(); + PathFragment packageFragment = file.getArtifactOwner().getLabel() + .getPackageIdentifier().getPathFragment(); PathFragment packageRelativePath = file.getRootRelativePath().relativeTo(packageFragment); PathFragment resourceDir = findResourceDir(file); |