aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-07-13 18:53:07 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-14 10:51:53 +0200
commit8002b6205e004721f771df20d1d8c1402c03964e (patch)
treeb873d47e8df0b512ebab7a5f3b8bb1c435470c63 /src/main/java/com
parente5d95fb510ae056c8650b5bb450ec5dc7c7eeb3b (diff)
Fix rules that provide both 'executable' and 'files'
PiperOrigin-RevId: 161821800
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetUtil.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetUtil.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetUtil.java
index 3113a4cbfc..4ee5af3c51 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetUtil.java
@@ -421,18 +421,15 @@ public final class SkylarkRuleConfiguredTargetUtil {
Runfiles defaultRunfiles)
throws EvalException {
- // TODO(bazel-team) if both 'files' and 'executable' are provided 'files' override 'executalbe'
- NestedSetBuilder<Artifact> filesToBuild =
- NestedSetBuilder.<Artifact>stableOrder().addAll(ruleContext.getOutputArtifacts());
+ NestedSetBuilder<Artifact> filesToBuild = NestedSetBuilder.<Artifact>stableOrder()
+ .addAll(ruleContext.getOutputArtifacts());
if (executable != null) {
filesToBuild.add(executable);
}
- builder.setFilesToBuild(filesToBuild.build());
-
if (files != null) {
- // If we specify files_to_build we don't have the executable in it by default.
- builder.setFilesToBuild(files.getSet(Artifact.class));
+ filesToBuild.addTransitive(files.getSet(Artifact.class));
}
+ builder.setFilesToBuild(filesToBuild.build());
if ((statelessRunfiles != null) && (dataRunfiles != null || defaultRunfiles != null)) {
throw new EvalException(loc, "Cannot specify the provider 'runfiles' "