aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-03-21 00:51:44 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-21 12:52:55 +0000
commit8d54969c537745271bc230873ab574dce5da891b (patch)
tree45f62e7b2845fc698e8fda8dd46a7bf73ccfa0ea /src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
parent5ad10d11a90afe19d50a68cb72b861508362e14b (diff)
adds feature_of and feature_after attrs to android_binary. these are android_binary rules whose .apk artifacts get piped through appt to support split apks
-- PiperOrigin-RevId: 150701976 MOS_MIGRATED_REVID=150701976
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
index e33928d19c..836c3855cb 100644
--- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
+++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessor.java
@@ -97,6 +97,20 @@ public class AndroidResourceProcessor {
help = "Aapt tool location for resource packaging.")
public Path aapt;
+ @Option(name = "featureOf",
+ defaultValue = "null",
+ converter = ExistingPathConverter.class,
+ category = "config",
+ help = "Base apk path.")
+ public Path featureOf;
+
+ @Option(name = "featureAfter",
+ defaultValue = "null",
+ converter = ExistingPathConverter.class,
+ category = "config",
+ help = "Apk path of previous split (if any).")
+ public Path featureAfter;
+
@Option(name = "annotationJar",
defaultValue = "null",
converter = ExistingPathConverter.class,
@@ -206,8 +220,18 @@ public class AndroidResourceProcessor {
@Override
public List<String> getAdditionalParameters() {
- return ImmutableList.of();
+ List<String> params = new java.util.ArrayList<String>();
+ if (options.featureOf != null) {
+ params.add("--feature-of");
+ params.add(options.featureOf.toString());
+ }
+ if (options.featureAfter != null) {
+ params.add("--feature-after");
+ params.add(options.featureAfter.toString());
+ }
+ return ImmutableList.copyOf(params);
}
+
}
private final StdLogger stdLogger;
@@ -352,6 +376,9 @@ public class AndroidResourceProcessor {
.add("-c", Joiner.on(',').join(resourceConfigs))
// Split APKs if any splits were specified.
.whenVersionIsAtLeast(new Revision(23)).thenAddRepeated("--split", splits);
+ for (String additional : aaptOptions.getAdditionalParameters()) {
+ commandBuilder.add(additional);
+ }
try {
new CommandLineRunner(stdLogger).runCmdLine(commandBuilder.build(), null);
} catch (LoggedErrorException e) {