diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 753f6881449..776d5737281 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -338,14 +338,6 @@ internal abstract class AbstractKotlinPlugin( internal abstract fun buildSourceSetProcessor(project: Project, javaBasePlugin: JavaBasePlugin, sourceSet: SourceSet, kotlinPluginVersion: String): KotlinSourceSetProcessor<*> override fun apply(project: Project) { - project.configurations.create(COMPILER_CLASSPATH_CONFIGURATION_NAME).defaultDependencies { - it.add(project.dependencies.create("$KOTLIN_MODULE_GROUP:$KOTLIN_COMPILER_EMBEDDABLE:$kotlinPluginVersion")) - } - project.configurations.create(PLUGIN_CLASSPATH_CONFIGURATION_NAME).apply { - // todo: Consider removing if org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser stops using parent last classloader - isTransitive = false - } - val javaBasePlugin = project.plugins.apply(JavaBasePlugin::class.java) val javaPluginConvention = project.convention.getPlugin(JavaPluginConvention::class.java) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt index 22a325b94f6..c9bf554c00a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt @@ -25,10 +25,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension 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.AndroidTasksProvider -import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsTasksProvider -import org.jetbrains.kotlin.gradle.tasks.KotlinCommonTasksProvider -import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider +import org.jetbrains.kotlin.gradle.tasks.* import java.io.FileNotFoundException import java.util.* import javax.inject.Inject @@ -39,6 +36,14 @@ abstract class KotlinBasePluginWrapper(protected val fileResolver: FileResolver) val kotlinPluginVersion = loadKotlinVersionFromResource(log) override fun apply(project: Project) { + project.configurations.maybeCreate(COMPILER_CLASSPATH_CONFIGURATION_NAME).defaultDependencies { + it.add(project.dependencies.create("$KOTLIN_MODULE_GROUP:$KOTLIN_COMPILER_EMBEDDABLE:$kotlinPluginVersion")) + } + project.configurations.maybeCreate(PLUGIN_CLASSPATH_CONFIGURATION_NAME).apply { + // todo: Consider removing if org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser stops using parent last classloader + isTransitive = false + } + // TODO: consider only set if if daemon or parallel compilation are enabled, though this way it should be safe too System.setProperty(org.jetbrains.kotlin.cli.common.KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY, "true") val kotlinGradleBuildServices = KotlinGradleBuildServices.getInstance(project.gradle)