diff options
author | Googler <noreply@google.com> | 2016-07-29 19:32:38 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-08-01 08:07:23 +0000 |
commit | e49cd59a3281ca1aae539baf18dfde8627c01abe (patch) | |
tree | 19dd6851dac446b3f14e22513c7b1703b9b37044 /src/main/java/com/google/devtools/build/lib/packages/Attribute.java | |
parent | 49dfc29a40764ae48f2343007f88f3a4938498f1 (diff) |
Allow objc rule deps to include any rule that exports an "objc" provider.
This change was motivated by a need to write pure Skylark rules that expose their own objc providers so they can be used as deps to other libraries/application targets (e.g., SceneKit/SpriteKit compiled resources, []) without having to whitelist them and wait for a Blaze release.
This CL fixes what seems to be a bug in validateRuleDependency, where the behavior in the doc comment implies that it will accept a whitelisted rule name *or* a list of mandatory providers, but as implemented today it seems to require the rule to be whitelisted even if the mandatory native providers matched.
RELNOTES: objc_* rules can now depend on any target that returns an "objc" provider.
--
MOS_MIGRATED_REVID=128835096
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/Attribute.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/Attribute.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java index 2ac485195d..c53b92af54 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java @@ -1706,6 +1706,8 @@ public final class Attribute implements Comparable<Attribute> { builder.allowedFileTypesForLabels = allowedFileTypesForLabels; builder.allowedRuleClassesForLabels = allowedRuleClassesForLabels; builder.allowedRuleClassesForLabelsWarning = allowedRuleClassesForLabelsWarning; + builder.mandatoryNativeProviders = mandatoryNativeProviders; + builder.mandatoryProvidersList = mandatoryProvidersList; builder.validityPredicate = validityPredicate; builder.condition = condition; builder.configTransition = configTransition; |