aboutsummaryrefslogtreecommitdiff
path: root/gradle
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-12-21 16:16:05 -0800
committerXavier Ducrohet <xav@android.com>2013-01-02 13:21:52 -0800
commit0749a476551ad096b7e2436e3f1f758c10caad83 (patch)
tree2bdf681a77e4abbd360fc5453ac1a4c304db3c29 /gradle
parent724415bae3481da6afa6a561fde3833ace4f9d6c (diff)
downloadbuild-0749a476551ad096b7e2436e3f1f758c10caad83.tar.gz
Add crunch support to the ResourceManager.
This relies on a newer version of aapt that is able to do single file crunch. All crunching is done through a thread controlled by an executor. Change-Id: I578f970660f152031ed1a4f4074382fcf4d7b2b8
Diffstat (limited to 'gradle')
-rw-r--r--gradle/build.gradle2
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy2
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy12
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy3
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/tasks/MergeResourcesTask.groovy8
5 files changed, 18 insertions, 9 deletions
diff --git a/gradle/build.gradle b/gradle/build.gradle
index bc56450..f627d3a 100644
--- a/gradle/build.gradle
+++ b/gradle/build.gradle
@@ -39,7 +39,7 @@ dependencies {
idea {
module {
- testSourceDirs += files('src/build-test/groovy', 'src/device-test/groovy')
+ testSourceDirs += files('src/build-test/groovy', 'src/device-test/groovy').files
}
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
index 0e868c2..4f3ba11 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/AppPlugin.groovy
@@ -434,7 +434,7 @@ class AppPlugin extends com.android.build.gradle.BasePlugin implements org.gradl
createProcessManifestTask(variant, "manifests")
// Add a task to merge the resource folders
- createMergeResourcesTask(variant)
+ createMergeResourcesTask(variant, true /*process9Patch*/)
// Add a task to create the BuildConfig class
createBuildConfigTask(variant)
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 3d5be53..eb5f974 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
@@ -316,11 +316,12 @@ public abstract class BasePlugin {
}
}
- protected void createMergeResourcesTask(ApplicationVariant variant) {
- createMergeResourcesTask(variant, "$project.buildDir/res/$variant.dirName")
+ protected void createMergeResourcesTask(ApplicationVariant variant, boolean process9Patch) {
+ createMergeResourcesTask(variant, "$project.buildDir/res/$variant.dirName", process9Patch)
}
- protected void createMergeResourcesTask(ApplicationVariant variant, String location) {
+ protected void createMergeResourcesTask(ApplicationVariant variant, String location,
+ boolean process9Patch) {
def mergeResourcesTask = project.tasks.add("merge${variant.name}Resources",
MergeResourcesTask)
variant.mergeResourcesTask = mergeResourcesTask
@@ -329,6 +330,8 @@ public abstract class BasePlugin {
mergeResourcesTask.variant = variant
mergeResourcesTask.incrementalFolder = project.file("$project.buildDir/incremental/$variant.dirName")
+ mergeResourcesTask.process9Patch = process9Patch
+
mergeResourcesTask.conventionMapping.inputResourceSets = { variant.config.resourceSets }
mergeResourcesTask.conventionMapping.rawInputFolders = {
IncrementalTask.flattenSourceSets(variant.config.resourceSets)
@@ -337,6 +340,7 @@ public abstract class BasePlugin {
mergeResourcesTask.conventionMapping.outputDir = {
project.file(location)
}
+
}
protected void createBuildConfigTask(ApplicationVariant variant) {
@@ -536,7 +540,7 @@ public abstract class BasePlugin {
createProcessTestManifestTask(variant, "manifests")
// Add a task to merge the resource folders
- createMergeResourcesTask(variant)
+ createMergeResourcesTask(variant, true /*process9Patch*/)
if (testedVariant.config.type == VariantConfiguration.Type.LIBRARY) {
// in this case the tested library must be fully built before test can be built!
diff --git a/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
index d391339..e1e0448 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/LibraryPlugin.groovy
@@ -154,7 +154,8 @@ public class LibraryPlugin extends BasePlugin implements Plugin<Project> {
createProcessManifestTask(variant, DIR_BUNDLES)
// Add a task to merge the resource folders
- createMergeResourcesTask(variant, "$project.buildDir/$DIR_BUNDLES/${variant.dirName}/res")
+ createMergeResourcesTask(variant, "$project.buildDir/$DIR_BUNDLES/${variant.dirName}/res",
+ false /*process9Patch*/)
// Add a task to create the BuildConfig class
createBuildConfigTask(variant)
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/MergeResourcesTask.groovy b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/MergeResourcesTask.groovy
index ac43974..acc163f 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/MergeResourcesTask.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/tasks/MergeResourcesTask.groovy
@@ -19,6 +19,7 @@ import com.android.builder.resources.FileStatus
import com.android.builder.resources.ResourceMerger
import com.android.builder.resources.ResourceSet
import com.android.utils.Pair
+import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
class MergeResourcesTask extends MergeResources {
@@ -27,6 +28,9 @@ class MergeResourcesTask extends MergeResources {
@InputFiles
Iterable<File> rawInputFolders
+ @Input
+ boolean process9Patch
+
// actual inputs
List<ResourceSet> inputResourceSets
@@ -59,7 +63,7 @@ class MergeResourcesTask extends MergeResources {
}
// get the merged set and write it down.
- merger.writeResourceFolder(destinationDir)
+ merger.writeResourceFolder(destinationDir, getProcess9Patch() ? builder.aaptRunner : null)
// No exception? Write the known state.
merger.writeBlobTo(getIncrementalFolder())
@@ -110,7 +114,7 @@ class MergeResourcesTask extends MergeResources {
}
}
- merger.writeResourceFolder(getOutputDir())
+ merger.writeResourceFolder(getOutputDir(), getProcess9Patch() ? builder.aaptRunner : null)
// No exception? Write the known state.
merger.writeBlobTo(getIncrementalFolder())