diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidExtensionsExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidExtensionsExtension.kt index 95b5dc658d6..5629f7e52db 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidExtensionsExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidExtensionsExtension.kt @@ -16,8 +16,6 @@ package org.jetbrains.kotlin.gradle.internal -import groovy.lang.Closure -import org.gradle.util.Configurable import java.util.* enum class CacheImplementation(val optionName: String) { @@ -39,25 +37,10 @@ enum class AndroidExtensionsFeature(val featureName: String) { } } -open class AndroidExtensionsExtension : Configurable { - private lateinit var onEvaluatedHandler: (AndroidExtensionsExtension) -> Unit - - fun setEvaluatedHandler(handler: (AndroidExtensionsExtension) -> Unit) { - onEvaluatedHandler = handler - } - +open class AndroidExtensionsExtension { open var isExperimental: Boolean = false open var features: Set = AndroidExtensionsFeature.values().mapTo(mutableSetOf()) { it.featureName } open var defaultCacheImplementation: CacheImplementation = CacheImplementation.HASH_MAP - - override fun configure(closure: Closure<*>): AndroidExtensionsExtension { - // ConfigureUtil is not used here to prevent infinite recursion - closure.resolveStrategy = Closure.DELEGATE_FIRST - closure.delegate = this - closure.call() - onEvaluatedHandler(this) - return this - } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidSubplugin.kt index 4aa7cde4769..0c09cd65648 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AndroidSubplugin.kt @@ -43,18 +43,12 @@ import javax.xml.parsers.DocumentBuilderFactory class AndroidExtensionsSubpluginIndicator @Inject internal constructor(private val registry: ToolingModelBuilderRegistry) : Plugin { override fun apply(project: Project) { - val extension = project.extensions.create("androidExtensions", AndroidExtensionsExtension::class.java) - - extension.setEvaluatedHandler { evaluatedExtension -> - if (evaluatedExtension.isExperimental) { - addAndroidExtensionsRuntimeIfNeeded(project) - } - } - + project.extensions.create("androidExtensions", AndroidExtensionsExtension::class.java) + addAndroidExtensionsRuntime(project) registry.register(KotlinAndroidExtensionModelBuilder()) } - private fun addAndroidExtensionsRuntimeIfNeeded(project: Project) { + private fun addAndroidExtensionsRuntime(project: Project) { val kotlinPluginVersion = project.getKotlinPluginVersion() ?: run { project.logger.error("Kotlin plugin should be enabled before 'kotlin-android-extensions'") return