From b7e2923103872821dc88147378383e726b42c469 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Fri, 14 Oct 2022 12:40:42 +0200 Subject: [PATCH] [Gradle] Move pluginConfiguration into KotlinCompilationConfigurationsContainer ^KT-54312 Verification Pending --- .../gradle/plugin/KotlinTargetConfigurator.kt | 19 -------- .../gradle/plugin/SubpluginEnvironment.kt | 11 +++-- .../plugin/mpp/InternalKotlinCompilation.kt | 4 +- ...tlinCompilationConfigurationsContainer.kt} | 19 ++++---- .../compilationImpl/KotlinCompilationImpl.kt | 4 +- ...pilationDependencyConfigurationsFactory.kt | 44 ++++++++++++++----- .../factory/KotlinCompilationImplFactory.kt | 2 +- .../native/KotlinNativeTargetConfigurator.kt | 4 +- .../AbstractKotlinCompileConfig.kt | 3 +- 9 files changed, 55 insertions(+), 55 deletions(-) rename libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/{KotlinCompilationDependencyConfigurationsContainer.kt => KotlinCompilationConfigurationsContainer.kt} (79%) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt index a403a204d62..507bf1c0ded 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt @@ -28,7 +28,6 @@ import org.gradle.api.tasks.bundling.Zip import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.jvm.tasks.ProcessResources import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions -import org.jetbrains.kotlin.gradle.internal.reorderPluginClasspathDependencies import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget @@ -274,22 +273,6 @@ abstract class AbstractKotlinTargetConfigurator val target = compilation.target val configurations = target.project.configurations - configurations.maybeCreate(compilation.pluginConfigurationName).apply { - addGradlePluginMetadataAttributes(project) - - if (target.platformType == KotlinPlatformType.native) { - extendsFrom(configurations.getByName(NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME)) - - isTransitive = false - } else { - extendsFrom(target.project.commonKotlinPluginClasspath) - } - isVisible = false - isCanBeConsumed = false - description = "Kotlin compiler plugins for $compilation" - reorderPluginClasspathDependencies() - } - val compileConfiguration = configurations.findByName(compilation.deprecatedCompileConfigurationName)?.apply { isCanBeConsumed = false setupAsLocalTargetSpecificConfigurationIfSupported(target) @@ -552,5 +535,3 @@ private fun Configuration.setJavaTargetEnvironmentAttributeIfSupported(project: } internal val Project.commonKotlinPluginClasspath get() = configurations.getByName(PLUGIN_CLASSPATH_CONFIGURATION_NAME) -internal val KotlinCompilation<*>.pluginConfigurationName - get() = lowerCamelCaseName(PLUGIN_CLASSPATH_CONFIGURATION_NAME, target.disambiguationClassifier, compilationName) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt index cc99b05dae3..a991d6b7c5b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt @@ -5,10 +5,7 @@ import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.compile.JavaCompile import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import org.jetbrains.kotlin.gradle.logging.kotlinDebug -import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinNativeCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile @@ -41,10 +38,12 @@ class SubpluginEnvironment( if (kotlinCompilation is AbstractKotlinNativeCompilation && !kotlinCompilation.useGenericPluginArtifact) { subplugin.getPluginArtifactForNative()?.let { artifact -> - project.addMavenDependency(kotlinCompilation.pluginConfigurationName, artifact) + project.addMavenDependency(kotlinCompilation.internal.configurations.pluginConfiguration.name, artifact) } } else { - project.addMavenDependency(kotlinCompilation.pluginConfigurationName, subplugin.getPluginArtifact()) + project.addMavenDependency( + kotlinCompilation.internal.configurations.pluginConfiguration.name, subplugin.getPluginArtifact() + ) } val subpluginOptionsProvider = subplugin.applyToCompilation(kotlinCompilation) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinCompilation.kt index ada2770fbc3..9a79db2bb4d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinCompilation.kt @@ -9,7 +9,7 @@ import org.gradle.api.file.FileCollection import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationDependencyConfigurationsContainer +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationConfigurationsContainer import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationModuleManager import org.jetbrains.kotlin.gradle.utils.ObservableSet import org.jetbrains.kotlin.tooling.core.MutableExtras @@ -20,7 +20,7 @@ internal interface InternalKotlinCompilation : Kotl override val kotlinSourceSets: ObservableSet override val allKotlinSourceSets: ObservableSet - val configurations: KotlinCompilationDependencyConfigurationsContainer + val configurations: KotlinCompilationConfigurationsContainer val friendPaths: Iterable val compilationModule: KotlinCompilationModuleManager.CompilationModule val processResourcesTaskName: String? diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationDependencyConfigurationsContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationConfigurationsContainer.kt similarity index 79% rename from libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationDependencyConfigurationsContainer.kt rename to libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationConfigurationsContainer.kt index 90497e13fcf..458fe6d937a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationDependencyConfigurationsContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationConfigurationsContainer.kt @@ -8,33 +8,32 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.artifacts.Configuration -import org.gradle.api.attributes.Category -import org.gradle.api.attributes.Usage -import org.jetbrains.kotlin.gradle.plugin.* +import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies +import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinDependencyHandler -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages -import org.jetbrains.kotlin.gradle.utils.* -internal interface KotlinCompilationDependencyConfigurationsContainer { +internal interface KotlinCompilationConfigurationsContainer { val apiConfiguration: Configuration val implementationConfiguration: Configuration val compileOnlyConfiguration: Configuration val runtimeOnlyConfiguration: Configuration val compileDependencyConfiguration: Configuration val runtimeDependencyConfiguration: Configuration? + val pluginConfiguration: Configuration } -internal class DefaultKotlinCompilationDependencyConfigurationsContainer( +internal class DefaultKotlinCompilationConfigurationsContainer( override val apiConfiguration: Configuration, override val implementationConfiguration: Configuration, override val compileOnlyConfiguration: Configuration, override val runtimeOnlyConfiguration: Configuration, override val compileDependencyConfiguration: Configuration, - override val runtimeDependencyConfiguration: Configuration? -) : KotlinCompilationDependencyConfigurationsContainer + override val runtimeDependencyConfiguration: Configuration?, + override val pluginConfiguration: Configuration +) : KotlinCompilationConfigurationsContainer internal fun HasKotlinDependencies( - project: Project, compilationDependencyContainer: KotlinCompilationDependencyConfigurationsContainer + project: Project, compilationDependencyContainer: KotlinCompilationConfigurationsContainer ): HasKotlinDependencies = object : HasKotlinDependencies { override fun dependencies(configure: KotlinDependencyHandler.() -> Unit): Unit = DefaultKotlinDependencyHandler(this, project).run(configure) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt index 9e92fa54326..63664c91307 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt @@ -36,7 +36,7 @@ internal class KotlinCompilationImpl @Inject constructor( val target: KotlinTarget, val compilationModule: KotlinCompilationModuleManager.CompilationModule, val sourceSets: KotlinCompilationSourceSetsContainer, - val dependencyConfigurations: KotlinCompilationDependencyConfigurationsContainer, + val dependencyConfigurations: KotlinCompilationConfigurationsContainer, val compilationTaskNames: KotlinCompilationTaskNamesContainer, val processResourcesTaskName: String?, val output: KotlinCompilationOutput, @@ -61,7 +61,7 @@ internal class KotlinCompilationImpl @Inject constructor( val sourceSets get() = params.sourceSets - override val configurations: KotlinCompilationDependencyConfigurationsContainer + override val configurations: KotlinCompilationConfigurationsContainer get() = params.dependencyConfigurations override val compilationName: String diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/DefaultKotlinCompilationDependencyConfigurationsFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/DefaultKotlinCompilationDependencyConfigurationsFactory.kt index 43690585eb1..4c259ac7d44 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/DefaultKotlinCompilationDependencyConfigurationsFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/DefaultKotlinCompilationDependencyConfigurationsFactory.kt @@ -7,11 +7,12 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory import org.gradle.api.attributes.Category import org.gradle.api.attributes.Usage +import org.jetbrains.kotlin.gradle.internal.reorderPluginClasspathDependencies import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationDependencyConfigurationsContainer -import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationDependencyConfigurationsContainer +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer +import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationConfigurationsContainer import org.jetbrains.kotlin.gradle.plugin.mpp.javaSourceSets import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget @@ -21,13 +22,13 @@ internal sealed class DefaultKotlinCompilationDependencyConfigurationsFactory : KotlinCompilationImplFactory.KotlinCompilationDependencyConfigurationsFactory { object WithRuntime : DefaultKotlinCompilationDependencyConfigurationsFactory() { - override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer { + override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer { return KotlinCompilationDependencyConfigurationsContainer(target, compilationName, withRuntime = true) } } object WithoutRuntime : DefaultKotlinCompilationDependencyConfigurationsFactory() { - override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer { + override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer { return KotlinCompilationDependencyConfigurationsContainer(target, compilationName, withRuntime = false) } } @@ -36,7 +37,7 @@ internal sealed class DefaultKotlinCompilationDependencyConfigurationsFactory : internal object NativeKotlinCompilationDependencyConfigurationsFactory : KotlinCompilationImplFactory.KotlinCompilationDependencyConfigurationsFactory { - override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer { + override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer { val naming = ConfigurationNaming.Default(target, compilationName) return KotlinCompilationDependencyConfigurationsContainer( target = target, @@ -51,7 +52,7 @@ internal object NativeKotlinCompilationDependencyConfigurationsFactory : internal object JsKotlinCompilationDependencyConfigurationsFactory : KotlinCompilationImplFactory.KotlinCompilationDependencyConfigurationsFactory { - override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer { + override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer { val defaultNaming = ConfigurationNaming.Default(target, compilationName) return KotlinCompilationDependencyConfigurationsContainer( target, compilationName, withRuntime = true, @@ -64,7 +65,7 @@ internal object JsKotlinCompilationDependencyConfigurationsFactory : internal class JvmWithJavaCompilationDependencyConfigurationsFactory(private val target: KotlinWithJavaTarget<*, *>) : KotlinCompilationImplFactory.KotlinCompilationDependencyConfigurationsFactory { - override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer { + override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer { val javaSourceSet = this.target.javaSourceSets.maybeCreate(compilationName) return KotlinCompilationDependencyConfigurationsContainer( target = target, compilationName = compilationName, withRuntime = true, @@ -119,8 +120,13 @@ private fun KotlinCompilationDependencyConfigurationsContainer( compileOnlyConfigurationName: String = naming.name(compilation, COMPILE_ONLY), runtimeOnlyConfigurationName: String = naming.name(compilation, RUNTIME_ONLY), compileClasspathConfigurationName: String = naming.name(compileClasspath), - runtimeClasspathConfigurationName: String = naming.name(runtimeClasspath) -): KotlinCompilationDependencyConfigurationsContainer { + runtimeClasspathConfigurationName: String = naming.name(runtimeClasspath), + pluginConfigurationName: String = lowerCamelCaseName( + PLUGIN_CLASSPATH_CONFIGURATION_NAME, + target.disambiguationClassifier, + compilationName + ) +): KotlinCompilationConfigurationsContainer { val compilationCoordinates = "${target.disambiguationClassifier}/$compilationName" val apiConfiguration = target.project.configurations.maybeCreate(apiConfigurationName).apply { @@ -180,12 +186,28 @@ private fun KotlinCompilationDependencyConfigurationsContainer( description = "Runtime classpath of $compilationCoordinates." } else null - return DefaultKotlinCompilationDependencyConfigurationsContainer( + val pluginConfiguration = target.project.configurations.maybeCreate(pluginConfigurationName).apply { + addGradlePluginMetadataAttributes(target.project) + + if (target.platformType == KotlinPlatformType.native) { + extendsFrom(target.project.configurations.getByName(NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME)) + isTransitive = false + } else { + extendsFrom(target.project.commonKotlinPluginClasspath) + } + isVisible = false + isCanBeConsumed = false + description = "Kotlin compiler plugins for $compilation" + reorderPluginClasspathDependencies() + } + + return DefaultKotlinCompilationConfigurationsContainer( apiConfiguration = apiConfiguration, implementationConfiguration = implementationConfiguration, compileOnlyConfiguration = compileOnlyConfiguration, runtimeOnlyConfiguration = runtimeOnlyConfiguration, compileDependencyConfiguration = compileDependencyConfiguration, - runtimeDependencyConfiguration = runtimeDependencyConfiguration + runtimeDependencyConfiguration = runtimeDependencyConfiguration, + pluginConfiguration = pluginConfiguration ) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/KotlinCompilationImplFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/KotlinCompilationImplFactory.kt index 1c1ee94a17e..4134baaee3f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/KotlinCompilationImplFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/factory/KotlinCompilationImplFactory.kt @@ -68,7 +68,7 @@ internal class KotlinCompilationImplFactory( } fun interface KotlinCompilationDependencyConfigurationsFactory { - fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer + fun create(target: KotlinTarget, compilationName: String): KotlinCompilationConfigurationsContainer } fun interface KotlinCompilationOutputFactory { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt index cc5883e0cc1..514354191b2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt @@ -533,9 +533,7 @@ open class KotlinNativeTargetConfigurator : AbstractKotl .addSubpluginOptions(project, compilation) compilation.compileKotlinTaskProvider.configure { - it.compilerPluginClasspath = project - .configurations - .getByName(compilation.pluginConfigurationName) + it.compilerPluginClasspath = compilation.configurations.pluginConfiguration } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/AbstractKotlinCompileConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/AbstractKotlinCompileConfig.kt index de3607cdc06..0bc643324a7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/AbstractKotlinCompileConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/AbstractKotlinCompileConfig.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.gradle.dsl.topLevelExtension import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider import org.jetbrains.kotlin.gradle.plugin.mpp.associateWithClosure +import org.jetbrains.kotlin.gradle.plugin.mpp.internal import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToCompilerOptions import org.jetbrains.kotlin.gradle.report.BuildMetricsService import org.jetbrains.kotlin.gradle.report.BuildReportsService @@ -94,7 +95,7 @@ internal abstract class AbstractKotlinCompileConfig