From e067915e90b3ce07546f8059e7a227b6626df8f0 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Tue, 27 Sep 2022 14:14:36 +0200 Subject: [PATCH] [Gradle][Minor] Move KotlinJsIrSourceSetProcessor into separate source file KT-54312 --- .../plugin/KotlinCommonSourceSetProcessor.kt | 52 +++++++++++++++++++ .../kotlin/gradle/plugin/KotlinPlugin.kt | 36 ------------- 2 files changed, 52 insertions(+), 36 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCommonSourceSetProcessor.kt diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCommonSourceSetProcessor.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCommonSourceSetProcessor.kt new file mode 100644 index 00000000000..84dfcff676f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCommonSourceSetProcessor.kt @@ -0,0 +1,52 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.plugin + +import org.gradle.api.Project +import org.gradle.api.Task +import org.gradle.api.tasks.TaskProvider +import org.jetbrains.kotlin.gradle.dsl.CompilerMultiplatformCommonOptions +import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.isMainCompilationData +import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon +import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider +import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinCompileCommonConfig +import org.jetbrains.kotlin.gradle.tasks.dependsOn +import org.jetbrains.kotlin.gradle.tasks.locateTask + +internal class KotlinCommonSourceSetProcessor( + compilation: KotlinCompilationData<*>, + tasksProvider: KotlinTasksProvider +) : KotlinSourceSetProcessor( + tasksProvider, taskDescription = "Compiles the kotlin sources in $compilation to Metadata.", kotlinCompilation = compilation +) { + override fun doTargetSpecificProcessing() { + project.tasks.named(kotlinCompilation.compileAllTaskName).dependsOn(kotlinTask) + // can be missing (e.g. in case of tests) + if ((kotlinCompilation as? AbstractKotlinCompilation<*>)?.isMainCompilationData() == true) { + project.locateTask(kotlinCompilation.target.artifactsTaskName)?.dependsOn(kotlinTask) + } + + if (kotlinCompilation is KotlinCompilation<*>) { + project.whenEvaluated { + val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project) + subpluginEnvironment.addSubpluginOptions(project, kotlinCompilation) + } + } + } + + override fun doRegisterTask(project: Project, taskName: String): TaskProvider { + val configAction = KotlinCompileCommonConfig(kotlinCompilation) + applyStandardTaskConfiguration(configAction) + return tasksProvider.registerKotlinCommonTask( + project, + taskName, + kotlinCompilation.compilerOptions.options as CompilerMultiplatformCommonOptions, + configAction + ) + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 74d42803cbc..f8d940c4e31 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -15,7 +15,6 @@ import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPom import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.tasks.SourceSet -import org.gradle.api.tasks.TaskProvider import org.gradle.jvm.tasks.Jar import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry import org.jetbrains.kotlin.gradle.dsl.* @@ -25,8 +24,6 @@ import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPro import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor import org.jetbrains.kotlin.gradle.plugin.internal.MavenPluginConfigurator import org.jetbrains.kotlin.gradle.plugin.mpp.* -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.isMainCompilationData import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin import org.jetbrains.kotlin.gradle.targets.js.ir.* import org.jetbrains.kotlin.gradle.tasks.* @@ -45,39 +42,6 @@ val KOTLIN_JS_DSL_NAME = "kotlin2js" val KOTLIN_OPTIONS_DSL_NAME = "kotlinOptions" -internal class KotlinCommonSourceSetProcessor( - compilation: KotlinCompilationData<*>, - tasksProvider: KotlinTasksProvider -) : KotlinSourceSetProcessor( - tasksProvider, taskDescription = "Compiles the kotlin sources in $compilation to Metadata.", kotlinCompilation = compilation -) { - override fun doTargetSpecificProcessing() { - project.tasks.named(kotlinCompilation.compileAllTaskName).dependsOn(kotlinTask) - // can be missing (e.g. in case of tests) - if ((kotlinCompilation as? AbstractKotlinCompilation<*>)?.isMainCompilationData() == true) { - project.locateTask(kotlinCompilation.target.artifactsTaskName)?.dependsOn(kotlinTask) - } - - if (kotlinCompilation is KotlinCompilation<*>) { - project.whenEvaluated { - val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project) - subpluginEnvironment.addSubpluginOptions(project, kotlinCompilation) - } - } - } - - override fun doRegisterTask(project: Project, taskName: String): TaskProvider { - val configAction = KotlinCompileCommonConfig(kotlinCompilation) - applyStandardTaskConfiguration(configAction) - return tasksProvider.registerKotlinCommonTask( - project, - taskName, - kotlinCompilation.compilerOptions.options as KotlinMultiplatformCommonCompilerOptions, - configAction - ) - } -} - internal abstract class AbstractKotlinPlugin( val tasksProvider: KotlinTasksProvider, val registry: ToolingModelBuilderRegistry