diff options
author | 2017-07-13 18:53:07 +0200 | |
---|---|---|
committer | 2017-07-14 10:51:53 +0200 | |
commit | 8002b6205e004721f771df20d1d8c1402c03964e (patch) | |
tree | b873d47e8df0b512ebab7a5f3b8bb1c435470c63 /src/main/java/com | |
parent | e5d95fb510ae056c8650b5bb450ec5dc7c7eeb3b (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.java | 11 |
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' " |