Fix compatibility issues with Android Gradle plugin 1.2

This commit is contained in:
Yan Zhulanow
2015-05-25 18:40:47 +03:00
parent 88021ffc73
commit 0a450c1739
2 changed files with 14 additions and 4 deletions
@@ -365,7 +365,7 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t
val variantDataName = variantData.getName()
logger.kotlinDebug("Process variant [$variantDataName]")
val javaTask = variantData.javaCompileTask
val javaTask = AndroidGradleWrapper.getJavaCompile(variantData)
val kotlinTaskName = "compile${variantDataName.capitalize()}Kotlin"
val kotlinTask = tasksProvider.createKotlinJVMTask(project, kotlinTaskName)
@@ -432,12 +432,16 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t
javaTask.dependsOn(kotlinTaskName)
val kaptManager = AnnotationProcessingManager(kotlinTask, javaTask, aptFiles.toSet(), aptOutputDir, aptWorkingDir)
kotlinTask.storeKaptAnnotationsFile(kaptManager)
val kaptManager = if (javaTask is JavaCompile) {
val manager = AnnotationProcessingManager(kotlinTask, javaTask, aptFiles.toSet(), aptOutputDir, aptWorkingDir)
kotlinTask.storeKaptAnnotationsFile(manager)
manager
}
else null
javaTask doFirst {
javaTask.setClasspath(javaTask.getClasspath() + project.files(kotlinTask.property("kotlinDestinationDir")))
kaptManager.setupKapt()
kaptManager?.setupKapt()
}
}
}
@@ -6,6 +6,7 @@ import com.android.build.gradle.api.ApkVariant
import com.android.build.gradle.api.BaseVariant
import com.android.build.gradle.api.TestVariant
import org.gradle.api.internal.DefaultDomainObjectSet
import org.gradle.api.tasks.compile.AbstractCompile
import org.gradle.api.tasks.util.PatternFilterable
import org.jetbrains.annotations.NotNull
@@ -43,6 +44,11 @@ class AndroidGradleWrapper {
return variant.getBuildType().getName()
}
@NotNull
static def AbstractCompile getJavaCompile(Object baseVariantData) {
return baseVariantData.javaCompileTask
}
@NotNull
static def Set<File> getJavaSrcDirs(Object androidSourceSet) {
return androidSourceSet.getJava().getSrcDirs()