aboutsummaryrefslogtreecommitdiff
path: root/gradle
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@google.com>2013-11-25 14:08:44 -0800
committerXavier Ducrohet <xav@google.com>2013-11-25 14:08:44 -0800
commitb002f4a0506e158fa6aeb8fc0f0ec74f10a0097b (patch)
treed7a3360205ff451ad1565552fb560448f9b56d66 /gradle
parent6e00045fd570c43f8e37109e9bc8b32b1a6cb510 (diff)
downloadbuild-b002f4a0506e158fa6aeb8fc0f0ec74f10a0097b.tar.gz
Tweak generated source folder API.
Change-Id: Iebc7de34b90a14fc74c5a2e8c101d81a625311e3
Diffstat (limited to 'gradle')
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/api/BaseVariant.java35
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/api/BaseVariantImpl.java19
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java20
3 files changed, 62 insertions, 12 deletions
diff --git a/gradle/src/main/groovy/com/android/build/gradle/api/BaseVariant.java b/gradle/src/main/groovy/com/android/build/gradle/api/BaseVariant.java
index 854f4a5..297121d 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/api/BaseVariant.java
+++ b/gradle/src/main/groovy/com/android/build/gradle/api/BaseVariant.java
@@ -32,6 +32,7 @@ import org.gradle.api.tasks.Copy;
import org.gradle.api.tasks.compile.JavaCompile;
import java.io.File;
+import java.util.Collection;
/**
* A Build variant and all its public data. This is the base class for items common to apps,
@@ -154,24 +155,50 @@ public interface BaseVariant {
Task getAssemble();
/**
- * Adds to the variant a task that generates Java source Code.
+ * Adds new Java source folders to the model.
+ *
+ * These source folders will not be used for the default build
+ * system, but will be passed along the default Java source folders
+ * to whoever queries the model.
+ *
+ * @param sourceFolders the source folders where the generated source code is.
+ */
+ void addJavaSourceFoldersToModel(@NonNull File... sourceFolders);
+
+ /**
+ * Adds new Java source folders to the model.
+ *
+ * These source folders will not be used for the default build
+ * system, but will be passed along the default Java source folders
+ * to whoever queries the model.
+ *
+ * @param sourceFolders the source folders where the generated source code is.
+ */
+ void addJavaSourceFoldersToModel(@NonNull Collection<File> sourceFolders);
+
+ /**
+ * Adds to the variant a task that generates Java source code.
*
* This will make the compileJava task depend on this task and add the
* new source folders as compilation inputs.
*
+ * The new source folders are also added to the model.
+ *
* @param task the task
* @param sourceFolders the source folders where the generated source code is.
*/
- void addGeneratedSourceFolders(@NonNull Task task, @NonNull File... sourceFolders);
+ void registerJavaGeneratingTask(@NonNull Task task, @NonNull File... sourceFolders);
/**
- * Adds to the variant a task that generates Java source Code.
+ * Adds to the variant a task that generates Java source code.
*
* This will make the compileJava task depend on this task and add the
* new source folders as compilation inputs.
*
+ * The new source folders are also added to the model.
+ *
* @param task the task
* @param sourceFolders the source folders where the generated source code is.
*/
- void addGeneratedSourceFolders(@NonNull Task task, @NonNull Iterable<File> sourceFolders);
+ void registerJavaGeneratingTask(@NonNull Task task, @NonNull Collection<File> sourceFolders);
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/api/BaseVariantImpl.java b/gradle/src/main/groovy/com/android/build/gradle/internal/api/BaseVariantImpl.java
index 94ee0ab..1e99d91 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/api/BaseVariantImpl.java
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/api/BaseVariantImpl.java
@@ -34,6 +34,7 @@ import org.gradle.api.tasks.Copy;
import org.gradle.api.tasks.compile.JavaCompile;
import java.io.File;
+import java.util.Collection;
abstract class BaseVariantImpl implements BaseVariant {
@@ -139,12 +140,22 @@ abstract class BaseVariantImpl implements BaseVariant {
}
@Override
- public void addGeneratedSourceFolders(@NonNull Task task, @NonNull File... sourceFolders) {
- getVariantData().addGeneratedSourceFolders(task, sourceFolders);
+ public void addJavaSourceFoldersToModel(@NonNull File... generatedSourceFolders) {
+ getVariantData().addJavaSourceFoldersToModel(generatedSourceFolders);
}
@Override
- public void addGeneratedSourceFolders(@NonNull Task task, @NonNull Iterable<File> sourceFolders) {
- getVariantData().addGeneratedSourceFolders(task, sourceFolders);
+ public void addJavaSourceFoldersToModel(@NonNull Collection<File> generatedSourceFolders) {
+ getVariantData().addJavaSourceFoldersToModel(generatedSourceFolders);
+ }
+
+ @Override
+ public void registerJavaGeneratingTask(@NonNull Task task, @NonNull File... sourceFolders) {
+ getVariantData().registerJavaGeneratingTask(task, sourceFolders);
+ }
+
+ @Override
+ public void registerJavaGeneratingTask(@NonNull Task task, @NonNull Collection<File> sourceFolders) {
+ getVariantData().registerJavaGeneratingTask(task, sourceFolders);
}
}
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java b/gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java
index 6c68201..83794e8 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java
@@ -38,6 +38,8 @@ import org.gradle.api.tasks.compile.JavaCompile;
import proguard.gradle.ProGuardTask;
import java.io.File;
+import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
@@ -134,7 +136,15 @@ public abstract class BaseVariantData {
return extraGeneratedSourceFolders;
}
- public void addGeneratedSourceFolders(@NonNull Task task, @NonNull File... generatedSourceFolders) {
+ public void addJavaSourceFoldersToModel(@NonNull File... generatedSourceFolders) {
+ Collections.addAll(extraGeneratedSourceFolders, generatedSourceFolders);
+ }
+
+ public void addJavaSourceFoldersToModel(@NonNull Collection<File> generatedSourceFolders) {
+ extraGeneratedSourceFolders.addAll(generatedSourceFolders);
+ }
+
+ public void registerJavaGeneratingTask(@NonNull Task task, @NonNull File... generatedSourceFolders) {
if (extraGeneratedSourceFolders == null) {
extraGeneratedSourceFolders = Lists.newArrayList();
}
@@ -142,12 +152,13 @@ public abstract class BaseVariantData {
javaCompileTask.dependsOn(task);
for (File f : generatedSourceFolders) {
- extraGeneratedSourceFolders.add(f);
javaCompileTask.source(f);
}
+
+ addJavaSourceFoldersToModel(generatedSourceFolders);
}
- public void addGeneratedSourceFolders(@NonNull Task task, @NonNull Iterable<File> generatedSourceFolders) {
+ public void registerJavaGeneratingTask(@NonNull Task task, @NonNull Collection<File> generatedSourceFolders) {
if (extraGeneratedSourceFolders == null) {
extraGeneratedSourceFolders = Lists.newArrayList();
}
@@ -155,8 +166,9 @@ public abstract class BaseVariantData {
javaCompileTask.dependsOn(task);
for (File f : generatedSourceFolders) {
- extraGeneratedSourceFolders.add(f);
javaCompileTask.source(f);
}
+
+ addJavaSourceFoldersToModel(generatedSourceFolders);
}
}