Last active
December 19, 2015 04:29
-
-
Save mlc/5897934 to your computer and use it in GitHub Desktop.
proposed changes to android build system to support aapt's -c option
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/builder-model/src/main/java/com/android/builder/model/AaptOptions.java b/builder-model/src/main/java/com/android/builder/model/AaptOptions.java | |
index 86192e0..6b42479 100644 | |
--- a/builder-model/src/main/java/com/android/builder/model/AaptOptions.java | |
+++ b/builder-model/src/main/java/com/android/builder/model/AaptOptions.java | |
@@ -31,4 +31,9 @@ public interface AaptOptions { | |
* Returns the list of values for the -0 (disabled compression) option, or null | |
*/ | |
List<String> getNoCompress(); | |
+ | |
+ /** | |
+ * Returns the list of values for the -c (configuratoins) option, or null | |
+ */ | |
+ List<String> getConfigurations(); | |
} | |
diff --git a/builder/src/main/java/com/android/builder/AndroidBuilder.java b/builder/src/main/java/com/android/builder/AndroidBuilder.java | |
index 511e2b1..ec48b7c 100644 | |
--- a/builder/src/main/java/com/android/builder/AndroidBuilder.java | |
+++ b/builder/src/main/java/com/android/builder/AndroidBuilder.java | |
@@ -50,6 +50,7 @@ import com.android.sdklib.BuildToolInfo; | |
import com.android.sdklib.IAndroidTarget; | |
import com.android.sdklib.repository.FullRevision; | |
import com.android.utils.ILogger; | |
+import com.google.common.base.Joiner; | |
import com.google.common.collect.ArrayListMultimap; | |
import com.google.common.collect.Lists; | |
import com.google.common.collect.Maps; | |
@@ -607,6 +608,12 @@ public class AndroidBuilder { | |
} | |
} | |
+ List<String> configurations = options.getConfigurations(); | |
+ if (configurations != null) { | |
+ command.add("-c"); | |
+ command.add(Joiner.on(',').join(configurations)); | |
+ } | |
+ | |
if (symbolOutputDir != null && | |
(type == VariantConfiguration.Type.LIBRARY || !libraries.isEmpty())) { | |
command.add("--output-text-symbols"); | |
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/AaptOptionsImpl.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/AaptOptionsImpl.groovy | |
index 449a43f..c16bc6f 100644 | |
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/AaptOptionsImpl.groovy | |
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/AaptOptionsImpl.groovy | |
@@ -27,6 +27,9 @@ public class AaptOptionsImpl implements AaptOptions { | |
@Input | |
private List<String> noCompressList | |
+ @Input | |
+ private List<String> configurationsList | |
+ | |
public void setIgnoreAssetsPattern(String ignoreAssetsPattern) { | |
this.ignoreAssetsPattern = ignoreAssetsPattern | |
} | |
@@ -58,4 +61,27 @@ public class AaptOptionsImpl implements AaptOptions { | |
public void noCompress(String... noCompress) { | |
noCompressList = Arrays.asList(noCompress) | |
} | |
+ | |
+ @Override | |
+ List<String> getConfigurations() { | |
+ return configurationsList | |
+ } | |
+ | |
+ public void setConfigurations(String configuration) { | |
+ configurationsList = Collections.singletonList(configuration) | |
+ } | |
+ | |
+ public void setConfigurations(String... configurations) { | |
+ configurationsList = Arrays.asList(configurations) | |
+ } | |
+ | |
+ // -- DSL Methods. TODO remove per above comment? | |
+ | |
+ public void configurations(String configuration) { | |
+ configurationsList = Collections.singletonList(configuration) | |
+ } | |
+ | |
+ public void configurations(String... configurations) { | |
+ configurationsList = Arrays.asList(configurations) | |
+ } | |
} | |
diff --git a/tests/basic/build.gradle b/tests/basic/build.gradle | |
index d5162af..7b8f0a5 100644 | |
--- a/tests/basic/build.gradle | |
+++ b/tests/basic/build.gradle | |
@@ -56,5 +56,6 @@ android { | |
aaptOptions { | |
noCompress 'txt' | |
ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~" | |
+ configurations 'en', 'es' | |
} | |
} | |
\ No newline at end of file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment