diff options
author | Xavier Ducrohet <xav@google.com> | 2013-12-04 02:40:02 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-12-04 02:40:02 +0000 |
commit | 863bbb6c5429fe7b80da4bbd340cc9512e9c79db (patch) | |
tree | 3ba24d466cba03b75e17ffb5064f204fdc61c9b3 /gradle | |
parent | c22036f5b99f23fa2ff8de5fb796602e7a636a2e (diff) | |
parent | ac055ae77a7b0c599727a38e18b872e294b15087 (diff) | |
download | build-863bbb6c5429fe7b80da4bbd340cc9512e9c79db.tar.gz |
Merge "Add option to filter resources."
Diffstat (limited to 'gradle')
5 files changed, 31 insertions, 7 deletions
diff --git a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy index 1e3605e..1e5fb45 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy +++ b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy @@ -678,6 +678,7 @@ public abstract class BasePlugin { processResources.conventionMapping.type = { variantConfiguration.type } processResources.conventionMapping.debuggable = { variantConfiguration.buildType.debuggable } processResources.conventionMapping.aaptOptions = { extension.aaptOptions } + processResources.conventionMapping.resourceConfigs = { variantConfiguration.mergedFlavor.resourceConfigurations } } protected void createProcessJavaResTask(BaseVariantData variantData) { diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/ProductFlavorDsl.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/ProductFlavorDsl.groovy index cda61b0..669fc8f 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/ProductFlavorDsl.groovy +++ b/gradle/src/main/groovy/com/android/build/gradle/internal/dsl/ProductFlavorDsl.groovy @@ -98,4 +98,15 @@ class ProductFlavorDsl extends DefaultProductFlavor { void ndk(Action<NdkConfigDsl> action) { action.execute(ndkConfig) } + + void resConfig(@NonNull String config) { + addResourceConfiguration(config); + } + + void resConfigs(@NonNull String... config) { + addResourceConfigurations(config); + } + void resConfigs(@NonNull Collection<String> config) { + addResourceConfigurations(config); + } } diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/model/ProductFlavorImpl.java b/gradle/src/main/groovy/com/android/build/gradle/internal/model/ProductFlavorImpl.java index f00bd24..9f25e30 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/internal/model/ProductFlavorImpl.java +++ b/gradle/src/main/groovy/com/android/build/gradle/internal/model/ProductFlavorImpl.java @@ -21,11 +21,14 @@ import com.android.annotations.Nullable; import com.android.builder.model.ClassField; import com.android.builder.model.NdkConfig; import com.android.builder.model.ProductFlavor; +import com.google.common.collect.Sets; import java.io.File; import java.io.Serializable; +import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Set; /** * Implementation of ProductFlavor that is serializable. Objects used in the DSL cannot be @@ -47,6 +50,7 @@ class ProductFlavorImpl implements ProductFlavor, Serializable { private String mTestInstrumentationRunner = null; private Boolean mTestHandleProfiling = null; private Boolean mTestFunctionalTest = null; + private Set<String> mResourceConfigurations = null; @NonNull static ProductFlavorImpl cloneFlavor(ProductFlavor productFlavor) { @@ -69,6 +73,9 @@ class ProductFlavorImpl implements ProductFlavor, Serializable { clonedFlavor.mTestHandleProfiling = productFlavor.getTestHandleProfiling(); clonedFlavor.mTestFunctionalTest = productFlavor.getTestFunctionalTest(); + clonedFlavor.mResourceConfigurations = Sets.newHashSet( + productFlavor.getResourceConfigurations()); + return clonedFlavor; } @@ -172,6 +179,12 @@ class ProductFlavorImpl implements ProductFlavor, Serializable { return null; } + @NonNull + @Override + public Collection<String> getResourceConfigurations() { + return mResourceConfigurations; + } + @Override public String toString() { return "ProductFlavorImpl{" + @@ -188,6 +201,7 @@ class ProductFlavorImpl implements ProductFlavor, Serializable { ", mTestInstrumentationRunner='" + mTestInstrumentationRunner + '\'' + ", mTestHandleProfiling='" + mTestHandleProfiling + '\'' + ", mTestFunctionalTest='" + mTestFunctionalTest + '\'' + + ", mResourceConfigurations='" + mResourceConfigurations + '\'' + '}'; } } diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/model/VariantImpl.java b/gradle/src/main/groovy/com/android/build/gradle/internal/model/VariantImpl.java index c15f480..b8a04e6 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/internal/model/VariantImpl.java +++ b/gradle/src/main/groovy/com/android/build/gradle/internal/model/VariantImpl.java @@ -115,10 +115,4 @@ class VariantImpl implements Variant, Serializable { public Collection<JavaArtifact> getExtraJavaArtifacts() { return extraJavaArtifacts; } - - @Override - @NonNull - public List<String> getResourceConfigurations() { - return Collections.emptyList(); - } } diff --git a/gradle/src/main/groovy/com/android/build/gradle/tasks/ProcessAndroidResources.groovy b/gradle/src/main/groovy/com/android/build/gradle/tasks/ProcessAndroidResources.groovy index 201e47f..3c981ac 100644 --- a/gradle/src/main/groovy/com/android/build/gradle/tasks/ProcessAndroidResources.groovy +++ b/gradle/src/main/groovy/com/android/build/gradle/tasks/ProcessAndroidResources.groovy @@ -51,6 +51,9 @@ public class ProcessAndroidResources extends IncrementalTask { @OutputFile @Optional File proguardOutputFile + @Input + Collection<String> resourceConfigs + // ----- PRIVATE TASK API ----- @Nested @@ -88,6 +91,7 @@ public class ProcessAndroidResources extends IncrementalTask { getProguardOutputFile()?.absolutePath, getType(), getDebuggable(), - getAaptOptions()) + getAaptOptions(), + getResourceConfigs()) } } |