aboutsummaryrefslogtreecommitdiff
path: root/tests/genFolderApi/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'tests/genFolderApi/build.gradle')
-rw-r--r--tests/genFolderApi/build.gradle45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/genFolderApi/build.gradle b/tests/genFolderApi/build.gradle
new file mode 100644
index 0000000..542d956
--- /dev/null
+++ b/tests/genFolderApi/build.gradle
@@ -0,0 +1,45 @@
+buildscript {
+ repositories {
+ maven { url '../../../../out/host/gradle/repo' }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.7.0-SNAPSHOT'
+ }
+}
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "18.0.1"
+}
+
+
+public class GenerateCode extends DefaultTask {
+ @Input
+ String value
+
+ @OutputFile
+ File outputFile
+
+ @TaskAction
+ void taskAction() {
+ getOutputFile().text =
+ "package com.custom;\n" +
+ "public class Foo {\n" +
+ " public static String getBuildDate() { return \"${getValue()}\"; }\n" +
+ "}\n";
+ }
+}
+
+
+android.applicationVariants.all { variant ->
+
+ // create a task that generates a java class
+ File sourceFolder = file("${buildDir}/customCode/${variant.dirName}")
+ def javaGenerationTask = tasks.create(name: "generatedCodeFor${variant.name.capitalize()}", type: GenerateCode) {
+ value new Date().format("yyyy-MM-dd'T'HH:mm'Z'", TimeZone.getTimeZone("UTC"))
+ outputFile file("${sourceFolder.absolutePath}/com/custom/Foo.java")
+ }
+
+ variant.addGeneratedSourceFolders(javaGenerationTask, sourceFolder)
+} \ No newline at end of file