Android Gradle Plugin 0.14.4 breaks Kotlin

#KT-6310 Fixed
This commit is contained in:
Natalia Ukhorskaya
2014-11-21 12:17:17 +03:00
parent d85b3c15d8
commit 68d5e43ad3
2 changed files with 20 additions and 1 deletions
@@ -228,7 +228,10 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler): Plug
javaSourceList.add(AndroidGradleWrapper.getJavaSrcDirs(buildTypeSourceSet))
kotlinTask.source(getExtention<KotlinSourceSet>(buildTypeSourceSet, "kotlin").getKotlin())
}
javaSourceList.add(Callable<File?>{ variant.getProcessResources().getSourceOutputDir() })
for (resourceFolder in AndroidGradleWrapper.getRClassFolder(variant)) {
javaSourceList.add(Callable<File?>{ resourceFolder })
}
javaSourceList.add(Callable<File?>{ variant.getGenerateBuildConfig()?.getSourceOutputDir() })
javaSourceList.add(Callable<File?>{ variant.getAidlCompile().getSourceOutputDir() })
javaSourceList.add(Callable<File?>{ variant.getRenderscriptCompile().getSourceOutputDir() })
@@ -2,6 +2,8 @@ package org.jetbrains.kotlin.gradle.plugin.android
import com.android.build.gradle.BasePlugin
import com.android.build.gradle.api.ApkVariant
import com.android.build.gradle.api.BaseVariant
import com.android.build.gradle.api.BaseVariantOutput
import org.gradle.api.tasks.util.PatternFilterable
import org.jetbrains.annotations.NotNull
@@ -45,4 +47,18 @@ class AndroidGradleWrapper {
static def List<String> getProductFlavorsNames(ApkVariant variant) {
return variant.getProductFlavors().iterator().collect { it.getName() }
}
@NotNull
static def List<File> getRClassFolder(BaseVariant variant) {
def list = new ArrayList<File>()
if (variant.getMetaClass().getMetaMethod("getProcessResources")) {
list.add(variant.getProcessResources().getSourceOutputDir())
}
else {
for (BaseVariantOutput variantOutput : variant.getOutputs()) {
list.add(variantOutput.processResources.sourceOutputDir)
}
}
return list
}
}