diff options
author | Googler <noreply@google.com> | 2017-03-14 18:10:02 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2017-03-14 19:52:17 +0000 |
commit | d7a780ee5ad87d2e9aa5c3b9d0ee91ea819f9b9b (patch) | |
tree | 48218931b41f5d9b404d4bce10769b16d81ee62e | |
parent | a6ee96f95a9608046b773b2ed8493bdcb4282463 (diff) |
Type strip Python sources when building a target incompatible with inline
annotations.
--
PiperOrigin-RevId: 150088575
MOS_MIGRATED_REVID=150088575
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java index 8f171a3a76..c1965f35fd 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java @@ -638,8 +638,8 @@ public final class Runfiles { * Returns if there are no runfiles. */ public boolean isEmpty() { - return unconditionalArtifacts.isEmpty() && symlinks.isEmpty() && rootSymlinks.isEmpty() && - pruningManifests.isEmpty(); + return unconditionalArtifacts.isEmpty() && symlinks.isEmpty() && rootSymlinks.isEmpty() + && pruningManifests.isEmpty(); } /** @@ -1047,7 +1047,15 @@ public final class Runfiles { * Add the other {@link Runfiles} object transitively. */ public Builder merge(Runfiles runfiles) { - return merge(runfiles, true); + return merge(runfiles, true, true); + } + + /** + * Add the other {@link Runfiles} object transitively, but don't merge + * unconditional artifacts. + */ + public Builder mergeExceptUnconditionalArtifacts(Runfiles runfiles) { + return merge(runfiles, false, true); } /** @@ -1055,14 +1063,15 @@ public final class Runfiles { * pruning manifests. */ public Builder mergeExceptPruningManifests(Runfiles runfiles) { - return merge(runfiles, false); + return merge(runfiles, true, false); } /** * Add the other {@link Runfiles} object transitively, with the option to include or exclude * pruning manifests in the merge. */ - private Builder merge(Runfiles runfiles, boolean includePruningManifests) { + private Builder merge(Runfiles runfiles, boolean includeUnconditionalArtifacts, + boolean includePruningManifests) { // Propagate the most strict conflict checking from merged-in runfiles if (runfiles.conflictPolicy.compareTo(conflictPolicy) > 0) { conflictPolicy = runfiles.conflictPolicy; @@ -1073,7 +1082,9 @@ public final class Runfiles { // The suffix should be the same within any blaze build, except for the EMPTY runfiles, which // may have an empty suffix, but that is covered above. Preconditions.checkArgument(suffix.equals(runfiles.suffix)); - artifactsBuilder.addTransitive(runfiles.getUnconditionalArtifacts()); + if (includeUnconditionalArtifacts) { + artifactsBuilder.addTransitive(runfiles.getUnconditionalArtifacts()); + } symlinksBuilder.addTransitive(runfiles.getSymlinks()); rootSymlinksBuilder.addTransitive(runfiles.getRootSymlinks()); if (includePruningManifests) { |