diff options
author | Lukacs Berki <lberki@google.com> | 2015-03-24 11:19:33 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-03-24 16:41:58 +0000 |
commit | 5e35346351381a406b0fa0fa5b71cfde2ff69695 (patch) | |
tree | eac3b2b45221c322af94f4091dd30e634f873875 /src/main/java/com/google/devtools/build | |
parent | 10480578e407092305b0615a7fde5d75ba30938b (diff) |
Actually add OutputGroupProvider.DEFAULT to the set of files to be built when the default is specified (and not just filesToBuild).
This is necessary so that rules that explicitly add artifacts to OutputGrovider.DEFAULT have those artifacts built when they are mentioned on the command line.
--
MOS_MIGRATED_REVID=89387243
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java index 54edf029a0..39c04a403e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java @@ -113,22 +113,25 @@ public final class TopLevelArtifactHelper { target.getProvider(OutputGroupProvider.class); for (String outputGroup : context.outputGroups()) { - NestedSet<Artifact> results = null; + NestedSetBuilder<Artifact> results = NestedSetBuilder.stableOrder(); if (outputGroup.equals(OutputGroupProvider.DEFAULT)) { + // For the default group, we also throw in filesToBuild FileProvider fileProvider = target.getProvider(FileProvider.class); if (fileProvider != null) { - results = fileProvider.getFilesToBuild(); + results.addTransitive(fileProvider.getFilesToBuild()); } - } else if (outputGroupProvider != null) { - results = outputGroupProvider.getOutputGroup(outputGroup); + } + + if (outputGroupProvider != null) { + results.addTransitive(outputGroupProvider.getOutputGroup(outputGroup)); } if (results != null) { if (outputGroup.startsWith(OutputGroupProvider.HIDDEN_OUTPUT_GROUP_PREFIX)) { - allBuilder.addTransitive(results); + allBuilder.addTransitive(results.build()); } else { - importantBuilder.addTransitive(results); + importantBuilder.addTransitive(results.build()); } } } |