diff options
author | 2016-07-01 17:04:54 +0000 | |
---|---|---|
committer | 2016-07-04 07:19:14 +0000 | |
commit | 99a2b2eb57a5395571f66054b330f87ab95cfb6c (patch) | |
tree | 24f9b6d7ae2642458f0e57f6ed07c40fd63c8cfc /src/main | |
parent | 207ba4a1248ee113eb0eb009dc55918e4633cda0 (diff) |
Add output log for android resource shrinking, following the format produced by the Gradle resource shrinker in resources.txt.
--
MOS_MIGRATED_REVID=126420534
Diffstat (limited to 'src/main')
3 files changed, 16 insertions, 0 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 c1f129d029..082fe72374 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 @@ -1012,6 +1012,8 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { 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(shrunkJar) diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java index 2a8d499f40..30d659b870 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java @@ -98,6 +98,8 @@ public final class AndroidRuleClasses { fromTemplates("%{name}_files/resource_files.zip"); public static final SafeImplicitOutputsFunction ANDROID_RESOURCES_SHRUNK_ZIP = fromTemplates("%{name}_files/resource_files_shrunk.zip"); + public static final SafeImplicitOutputsFunction ANDROID_RESOURCE_SHRINKER_LOG = + fromTemplates("%{name}_files/resource_shrinker_log.txt"); public static final SafeImplicitOutputsFunction ANDROID_INCREMENTAL_RESOURCES_APK = fromTemplates("%{name}_files/incremental.ap_"); public static final SafeImplicitOutputsFunction ANDROID_BINARY_APK = diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java index e8a545afe1..8ec9d3c9cf 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java @@ -37,6 +37,7 @@ public class ResourceShrinkerActionBuilder { private ResourceDependencies dependencyResources; private Artifact resourceApkOut; private Artifact shrunkResourcesOut; + private Artifact logOut; private final RuleContext ruleContext; private final SpawnAction.Builder spawnActionBuilder; @@ -123,6 +124,14 @@ public class ResourceShrinkerActionBuilder { return this; } + /** + * @param logOut The location to write the shrinker log. + */ + public ResourceShrinkerActionBuilder setLogOut(Artifact logOut) { + this.logOut = logOut; + return this; + } + public Artifact build() { ImmutableList.Builder<Artifact> inputs = ImmutableList.builder(); ImmutableList.Builder<Artifact> outputs = ImmutableList.builder(); @@ -184,6 +193,9 @@ public class ResourceShrinkerActionBuilder { commandLine.addExecPath("--shrunkResources", shrunkResourcesOut); outputs.add(shrunkResourcesOut); + commandLine.addExecPath("--log", logOut); + outputs.add(logOut); + ruleContext.registerAction(spawnActionBuilder .addTool(sdk.getAapt()) .addInputs(inputs.build()) |