diff options
author | 2017-09-11 23:33:09 +0200 | |
---|---|---|
committer | 2017-09-12 14:06:18 +0200 | |
commit | df8d70f694e1ed3f02004064a9de18ef4b82804c (patch) | |
tree | be96d75ad5a071ab92a55c4c5de49605f6c63905 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java | |
parent | 52d718c11b73af6c5b278710dfce26434b2e0380 (diff) |
Enable resource shrinking for aapt2.
First commit in series, the second will make the necessary changes to the action.
RELNOTES: None
PiperOrigin-RevId: 168286654
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java index ec5f03a7ae..550597a7a1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java @@ -827,13 +827,6 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { /** Returns {@code true} if resource shrinking should be performed. */ private static boolean shouldShrinkResources(RuleContext ruleContext) throws RuleErrorException { - - if (AndroidAaptVersion.chooseTargetAaptVersion(ruleContext) == AndroidAaptVersion.AAPT2) { - ruleContext.attributeWarning( - "shrink_resources", "aapt2 enabled builds do not yet support resource shrinking."); - return false; - } - TriState state = ruleContext.attributes().get("shrink_resources", BuildType.TRISTATE); if (state == TriState.AUTO) { boolean globalShrinkResources = @@ -854,24 +847,28 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { if (LocalResourceContainer.definesAndroidResources(ruleContext.attributes()) && !proguardSpecs.isEmpty()) { - Artifact apk = new ResourceShrinkerActionBuilder(ruleContext) - .setResourceApkOut(ruleContext.getImplicitOutputArtifact( - AndroidRuleClasses.ANDROID_RESOURCES_SHRUNK_APK)) - .setShrunkResourcesOut(ruleContext.getImplicitOutputArtifact( - AndroidRuleClasses.ANDROID_RESOURCES_SHRUNK_ZIP)) - .setLogOut(ruleContext.getImplicitOutputArtifact( - AndroidRuleClasses.ANDROID_RESOURCE_SHRINKER_LOG)) - .withResourceFiles(ruleContext.getImplicitOutputArtifact( - AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) - .withShrunkJar(proguardOutput.getOutputJar()) - .withProguardMapping(proguardOutput.getMapping()) - .withPrimary(resourceApk.getPrimaryResource()) - .withDependencies(resourceApk.getResourceDependencies()) - .setResourceFilter(ResourceFilter.fromRuleContext(ruleContext)) - - .setUncompressedExtensions( - ruleContext.getTokenizedStringListAttr("nocompress_extensions")) - .build(); + Artifact apk = + new ResourceShrinkerActionBuilder(ruleContext) + .setResourceApkOut( + ruleContext.getImplicitOutputArtifact( + AndroidRuleClasses.ANDROID_RESOURCES_SHRUNK_APK)) + .setShrunkResourcesOut( + ruleContext.getImplicitOutputArtifact( + AndroidRuleClasses.ANDROID_RESOURCES_SHRUNK_ZIP)) + .setLogOut( + ruleContext.getImplicitOutputArtifact( + AndroidRuleClasses.ANDROID_RESOURCE_SHRINKER_LOG)) + .withResourceFiles( + ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .withShrunkJar(proguardOutput.getOutputJar()) + .withProguardMapping(proguardOutput.getMapping()) + .withPrimary(resourceApk.getPrimaryResource()) + .withDependencies(resourceApk.getResourceDependencies()) + .setTargetAaptVersion(AndroidAaptVersion.chooseTargetAaptVersion(ruleContext)) + .setResourceFilter(ResourceFilter.fromRuleContext(ruleContext)) + .setUncompressedExtensions( + ruleContext.getTokenizedStringListAttr("nocompress_extensions")) + .build(); filesBuilder.add(ruleContext.getImplicitOutputArtifact( AndroidRuleClasses.ANDROID_RESOURCE_SHRINKER_LOG)); return new ResourceApk(apk, |