Make 'kotlinCompilerPluginClasspath' non-transitive
Previous plugin resolution mechanism was only searching for exact artifact without transitive dependencies. The configuration allows resolving transitive dependencies, but it resolves stdlib which fails because the compiler loads plugins using parent last classloader. Non-transitivity can be removed after parent last classloader is removed.
This commit is contained in:
+5
-3
@@ -29,8 +29,7 @@ import org.jetbrains.kotlin.gradle.internal.*
|
||||
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.getKaptGeneratedClassesDir
|
||||
import org.jetbrains.kotlin.gradle.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.utils.*
|
||||
import org.jetbrains.kotlin.incremental.stackTraceStr
|
||||
import org.jetbrains.kotlin.scripting.gradle.ScriptingGradleSubplugin
|
||||
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
import java.util.*
|
||||
@@ -338,7 +337,10 @@ 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(PLUGIN_CLASSPATH_CONFIGURATION_NAME)
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user