Fix getting plugin version for kotlinKaptWorkerDependencies configuration

Previously the configuration would not work for non-android projects,
because it looked only at KotlinAndroidPluginWrapper for plugin version
This commit is contained in:
Alexey Tsvetkov
2018-06-27 02:31:37 +03:00
parent 43b7ffd823
commit 9b97108db4
2 changed files with 7 additions and 9 deletions
@@ -46,7 +46,10 @@ class AndroidExtensionsSubpluginIndicator : Plugin<Project> {
}
private fun addAndroidExtensionsRuntimeIfNeeded(project: Project) {
val kotlinPluginVersion = project.getKotlinPluginVersion() ?: return
val kotlinPluginVersion = project.getKotlinPluginVersion() ?: run {
project.logger.error("Kotlin plugin should be enabled before 'kotlin-android-extensions'")
return
}
project.configurations.all { configuration ->
val name = configuration.name
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
import org.jetbrains.kotlin.gradle.dsl.createKotlinExtension
import org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImpl
import org.jetbrains.kotlin.gradle.tasks.*
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
import java.io.FileNotFoundException
import java.util.*
import javax.inject.Inject
@@ -82,14 +83,8 @@ open class Kotlin2JsPluginWrapper @Inject constructor(fileResolver: FileResolver
Kotlin2JsPlugin(Kotlin2JsTasksProvider(), KotlinSourceSetProviderImpl(fileResolver), kotlinPluginVersion)
}
fun Project.getKotlinPluginVersion(): String? {
val kotlinPluginWrapper = plugins.findPlugin(KotlinAndroidPluginWrapper::class.java) ?: run {
project.logger.error("'kotlin-android' plugin should be enabled before 'kotlin-android-extensions'")
return null
}
return kotlinPluginWrapper.kotlinPluginVersion
}
fun Project.getKotlinPluginVersion(): String? =
plugins.asSequence().mapNotNull { (it as? KotlinBasePluginWrapper)?.kotlinPluginVersion }.firstOrNull()
private fun Any.loadKotlinVersionFromResource(log: Logger): String {
log.kotlinDebug("Loading version information")