diff options
author | Googler <noreply@google.com> | 2016-10-14 20:08:38 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-10-14 20:26:32 +0000 |
commit | 183147eef8c03304b3e3a64a0f26ad3bd4bc0a87 (patch) | |
tree | 96cba28f86a8555220291376d4085c44c02b8697 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java | |
parent | f09a577fe5fb09048458d20d5addecca0ffb10f8 (diff) |
Add a flag to android_binary to allow resource shrinking to be controlled on a per-target basis. This flag only affects builds that have --experimental_android_resource_shrinking enabled. This will allow us to enable and disable the feature without needing to update [] or Rapid configs and on a module by module basis inside GmsCore. It will also let us enable/disable for GmsCore modules on a team by team basis.
Tested by adding to an android_binary target and building with the resource shrinking flag enabled.
--
MOS_MIGRATED_REVID=136189212
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java index f901c6c5bc..e09b2b6389 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.rules.android; import static com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition.HOST; import static com.google.devtools.build.lib.packages.Attribute.attr; import static com.google.devtools.build.lib.packages.BuildType.LABEL; +import static com.google.devtools.build.lib.packages.BuildType.TRISTATE; import static com.google.devtools.build.lib.syntax.Type.BOOLEAN; import static com.google.devtools.build.lib.syntax.Type.STRING; import static com.google.devtools.build.lib.syntax.Type.STRING_DICT; @@ -26,6 +27,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; +import com.google.devtools.build.lib.packages.TriState; import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidManifestMerger; /** @@ -83,6 +85,22 @@ public final class AndroidBinaryOnlyRule implements RuleDefinition { apk to only the ones in the 'en' configuration. <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ .add(attr("resource_configuration_filters", STRING_LIST)) + /* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(shrink_resources) --> + Do resource shrinking (or not). This allows resource shrinking to be controlled on a per + target basis and will only be used if Android resource shrinking is enabled globally. This + is only supported for local resources (not android_resources). + <p>Possible values: + <ul> + <li><code>shrink_resources = 1</code>: Turns on Android resource shrinking</li> + <li><code>shrink_resources = 0</code>: Turns off Android resource shrinking</li> + <li><code>shrink_resources = -1</code>: Shrinking is controlled by the + <a href="../blaze-user-manual.html#flag--android_resource_shrinking"> + --android_resource_shrinking</a> flag.</li> + </ul> + <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ + .add(attr("shrink_resources", TRISTATE) + .value(TriState.AUTO) + .undocumented("Android resource shrinking is still experimental")) /* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(densities) --> Densities to filter for when building the apk. This will strip out raster drawable resources that would not be loaded by a device with |