diff options
Diffstat (limited to 'gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java')
-rw-r--r-- | gradle/src/main/groovy/com/android/build/gradle/internal/variant/BaseVariantData.java | 35 |
1 files changed, 35 insertions, 0 deletions
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 84241c5..6c68201 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 @@ -30,6 +30,7 @@ import com.android.build.gradle.tasks.ProcessAndroidResources; import com.android.build.gradle.tasks.ProcessManifest; import com.android.build.gradle.tasks.RenderscriptCompile; import com.android.builder.VariantConfiguration; +import com.google.common.collect.Lists; import groovy.lang.Closure; import org.gradle.api.Task; import org.gradle.api.tasks.Copy; @@ -37,6 +38,7 @@ import org.gradle.api.tasks.compile.JavaCompile; import proguard.gradle.ProGuardTask; import java.io.File; +import java.util.List; /** * Base data about a variant. @@ -67,6 +69,8 @@ public abstract class BaseVariantData { public Task assembleTask; + private List<File> extraGeneratedSourceFolders; + public BaseVariantData(@NonNull VariantConfiguration variantConfiguration) { this.variantConfiguration = variantConfiguration; } @@ -124,4 +128,35 @@ public abstract class BaseVariantData { String getName() { return variantConfiguration.getFullName(); } + + @Nullable + public List<File> getExtraGeneratedSourceFolders() { + return extraGeneratedSourceFolders; + } + + public void addGeneratedSourceFolders(@NonNull Task task, @NonNull File... generatedSourceFolders) { + if (extraGeneratedSourceFolders == null) { + extraGeneratedSourceFolders = Lists.newArrayList(); + } + + javaCompileTask.dependsOn(task); + + for (File f : generatedSourceFolders) { + extraGeneratedSourceFolders.add(f); + javaCompileTask.source(f); + } + } + + public void addGeneratedSourceFolders(@NonNull Task task, @NonNull Iterable<File> generatedSourceFolders) { + if (extraGeneratedSourceFolders == null) { + extraGeneratedSourceFolders = Lists.newArrayList(); + } + + javaCompileTask.dependsOn(task); + + for (File f : generatedSourceFolders) { + extraGeneratedSourceFolders.add(f); + javaCompileTask.source(f); + } + } } |