diff options
author | Carmi Grushko <carmi@google.com> | 2016-03-16 15:13:38 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2016-03-17 10:04:31 +0000 |
commit | 97a2c30c9c09b7e5b0dff64acd6656df2431246a (patch) | |
tree | ba9fcdd76bd405643ae2b22abf149baadacc45bd /src/main/java/com/google/devtools/build/lib | |
parent | 2eb2bc593adf6a3a7145881872996fa1957d4933 (diff) |
Make ProguardLibrary.collectLocalProguardSpecs and collectProguardSpecsFromAttribute work with attributes added by Aspects.
--
MOS_MIGRATED_REVID=117343880
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibrary.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibrary.java index 1f92aac2db..f12c1fcf83 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibrary.java @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; +import com.google.devtools.build.lib.packages.Attribute; import com.google.devtools.build.lib.packages.BuildType; import java.util.Collection; @@ -90,7 +91,8 @@ public final class ProguardLibrary { * Collects the unvalidated proguard specs exported by this rule. */ private Collection<Artifact> collectLocalProguardSpecs() { - if (!ruleContext.getRule().isAttrDefined(LOCAL_SPEC_ATTRIBUTE, BuildType.LABEL_LIST)) { + Attribute attribute = ruleContext.getAttribute(LOCAL_SPEC_ATTRIBUTE); + if (attribute == null || attribute.getType() != BuildType.LABEL_LIST) { return ImmutableList.of(); } return ruleContext.getPrerequisiteArtifacts(LOCAL_SPEC_ATTRIBUTE, Mode.TARGET).list(); @@ -99,14 +101,16 @@ public final class ProguardLibrary { /** * Collects the proguard specs exported by dependencies on the given LABEL_LIST/LABEL attribute. */ - private NestedSet<Artifact> collectProguardSpecsFromAttribute(String attribute, Mode mode) { - if (!(ruleContext.getRule().isAttrDefined(attribute, BuildType.LABEL_LIST) - || ruleContext.getRule().isAttrDefined(attribute, BuildType.LABEL))) { + private NestedSet<Artifact> collectProguardSpecsFromAttribute(String attributeName, Mode mode) { + Attribute attribute = ruleContext.getAttribute(attributeName); + if (attribute == null + || (attribute.getType() != BuildType.LABEL_LIST + && attribute.getType() != BuildType.LABEL)) { return NestedSetBuilder.emptySet(Order.NAIVE_LINK_ORDER); } NestedSetBuilder<Artifact> dependencySpecsBuilder = NestedSetBuilder.naiveLinkOrder(); for (ProguardSpecProvider provider : - ruleContext.getPrerequisites(attribute, mode, ProguardSpecProvider.class)) { + ruleContext.getPrerequisites(attributeName, mode, ProguardSpecProvider.class)) { dependencySpecsBuilder.addTransitive(provider.getTransitiveProguardSpecs()); } return dependencySpecsBuilder.build(); |