aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-03-24 11:19:33 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-03-24 16:41:58 +0000
commit5e35346351381a406b0fa0fa5b71cfde2ff69695 (patch)
treeeac3b2b45221c322af94f4091dd30e634f873875 /src/main/java/com/google/devtools/build/lib
parent10480578e407092305b0615a7fde5d75ba30938b (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/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java15
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());
}
}
}