aboutsummaryrefslogtreecommitdiff
path: root/gradle
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@google.com>2013-12-03 18:35:31 -0800
committerXavier Ducrohet <xav@google.com>2013-12-03 18:37:21 -0800
commitac055ae77a7b0c599727a38e18b872e294b15087 (patch)
treecb62c4839021fb621c3066d884bdc7e33730976f /gradle
parent39aa53c42ed944e08db1e69ad557756eb84a36ad (diff)
downloadbuild-ac055ae77a7b0c599727a38e18b872e294b15087.tar.gz
Add option to filter resources.
Change-Id: Id89b666687e8ea245618435cc47b6e2a84ed02aa
Diffstat (limited to 'gradle')
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy1
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/dsl/ProductFlavorDsl.groovy11
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/model/ProductFlavorImpl.java14
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/model/VariantImpl.java6
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/tasks/ProcessAndroidResources.groovy6
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 3c206ed..03e34d8 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
@@ -668,6 +668,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())
}
}