aboutsummaryrefslogtreecommitdiff
path: root/gradle/src
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@google.com>2013-12-04 02:40:02 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-12-04 02:40:02 +0000
commit863bbb6c5429fe7b80da4bbd340cc9512e9c79db (patch)
tree3ba24d466cba03b75e17ffb5064f204fdc61c9b3 /gradle/src
parentc22036f5b99f23fa2ff8de5fb796602e7a636a2e (diff)
parentac055ae77a7b0c599727a38e18b872e294b15087 (diff)
downloadbuild-863bbb6c5429fe7b80da4bbd340cc9512e9c79db.tar.gz
Merge "Add option to filter resources."
Diffstat (limited to 'gradle/src')
-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 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())
}
}