diff options
author | 2016-12-22 16:24:03 +0000 | |
---|---|---|
committer | 2016-12-22 16:39:41 +0000 | |
commit | 08a9e301085a99e90fcb9155c3375c027b070fe1 (patch) | |
tree | d109c194e9cbf21fb7e971241cdf7af950fe298d /src/main/java/com/google/devtools/build/lib/rules/android | |
parent | 75c95ac5e691ec242b67d5e21a7633ccf1c6b446 (diff) |
RELNOTES[NEW]: Add transitive proguard_specs when android_sdk.aidl_lib is specified
--
PiperOrigin-RevId: 142768089
MOS_MIGRATED_REVID=142768089
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java | 10 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | 8 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java index d36086e590..e7553e0c99 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java @@ -28,6 +28,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.packages.BuildType; import com.google.devtools.build.lib.rules.java.JavaUtil; +import com.google.devtools.build.lib.rules.java.ProguardSpecProvider; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.PathFragment; @@ -172,6 +173,15 @@ public class AndroidIdlHelper { .build(); } + public static void addSupportLibProguardConfigs(RuleContext ruleContext, + NestedSetBuilder<Artifact> proguardConfigsbuilder) { + TransitiveInfoCollection aidlLib = AndroidSdkProvider.fromRuleContext(ruleContext).getAidlLib(); + if (aidlLib != null) { + proguardConfigsbuilder.addTransitive( + aidlLib.getProvider(ProguardSpecProvider.class).getTransitiveProguardSpecs()); + } + } + /** * Generates an artifact by replacing the extension of the input with the suffix. */ diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java index 90ad509ed1..8d37d2d12c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java @@ -62,8 +62,12 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { NestedSet<LinkerInput> transitiveNativeLibraries = AndroidCommon.collectTransitiveNativeLibraries( AndroidCommon.collectTransitiveInfo(ruleContext, Mode.TARGET)); - NestedSet<Artifact> transitiveProguardConfigs = - new ProguardLibrary(ruleContext).collectProguardSpecs(); + + NestedSetBuilder<Artifact> proguardConfigsbuilder = NestedSetBuilder.stableOrder(); + proguardConfigsbuilder.addTransitive(new ProguardLibrary(ruleContext).collectProguardSpecs()); + AndroidIdlHelper.addSupportLibProguardConfigs(ruleContext, proguardConfigsbuilder); + NestedSet<Artifact> transitiveProguardConfigs = proguardConfigsbuilder.build(); + JavaCommon javaCommon = AndroidCommon.createJavaCommonWithAndroidDataBinding(ruleContext, javaSemantics, true); javaSemantics.checkRule(ruleContext, javaCommon); |