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 f30e5648b25..afdbb1ab685 100644 --- 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 @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.gradle.internal.KotlinSourceSet import java.io.File import org.gradle.api.Action import org.gradle.api.tasks.compile.AbstractCompile -import org.gradle.api.logging.Logging import com.android.build.gradle.BaseExtension import com.android.build.gradle.AppExtension import com.android.build.gradle.LibraryExtension @@ -38,6 +37,7 @@ import org.gradle.api.tasks.Delete import groovy.lang.Closure import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider import java.util.ServiceLoader +import org.gradle.api.logging.* val DEFAULT_ANNOTATIONS = "org.jebrains.kotlin.gradle.defaultAnnotations" @@ -144,7 +144,7 @@ class Kotlin2JvmSourceSetProcessor( } } - loadSubplugins(project).addSubpluginArguments(project, kotlinTask) + loadSubplugins(project, logger).addSubpluginArguments(project, kotlinTask) } } @@ -317,7 +317,7 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t sourceSets.getByName("androidTest") } - val subpluginEnvironment = loadSubplugins(project) + val subpluginEnvironment = loadSubplugins(project, logger) for (variant in variants) { if (variant is LibraryVariant || variant is ApkVariant) { @@ -421,7 +421,7 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t } } -private fun loadSubplugins(project: Project): SubpluginEnvironment { +private fun loadSubplugins(project: Project, logger: Logger): SubpluginEnvironment { try { val subplugins = ServiceLoader.load( javaClass(), project.getBuildscript().getClassLoader()).toList() @@ -438,17 +438,18 @@ private fun loadSubplugins(project: Project): SubpluginEnvironment { subpluginClasspaths.put(subplugin, files) } - return SubpluginEnvironment(subpluginClasspaths, subplugins) + return SubpluginEnvironment(subpluginClasspaths, subplugins, logger) } catch (e: NoClassDefFoundError) { // Skip plugin loading if KotlinGradleSubplugin is not defined. // It is true now for tests in kotlin-gradle-plugin-core. - return SubpluginEnvironment(mapOf(), listOf()) + return SubpluginEnvironment(mapOf(), listOf(), logger) } } private class SubpluginEnvironment( val subpluginClasspaths: Map>, - val subplugins: List + val subplugins: List, + val logger: Logger ) { fun addSubpluginArguments(project: Project, compileTask: AbstractCompile) { @@ -458,6 +459,11 @@ private class SubpluginEnvironment( subplugins.forEach { subplugin -> val args = subplugin.getExtraArguments(project, compileTask) + + with (subplugin) { + logger.debug("Subplugin ${getPluginName()} (${getGroupName()}:${getArtifactName()}) loaded.") + } + val subpluginClasspath = subpluginClasspaths[subplugin] if (args != null && subpluginClasspath != null) { realPluginClasspaths.addAll(subpluginClasspath)