[Gradle][Minor] Move KotlinJsIrSourceSetProcessor into separate source file
KT-54312
This commit is contained in:
committed by
Space Team
parent
090951afd7
commit
4fe12d7704
+65
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* 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.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.dsl.CompilerJsOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||
import org.jetbrains.kotlin.gradle.tasks.configuration.Kotlin2JsCompileConfig
|
||||
import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinJsIrLinkConfig
|
||||
|
||||
internal class KotlinJsIrSourceSetProcessor(
|
||||
tasksProvider: KotlinTasksProvider,
|
||||
kotlinCompilation: AbstractKotlinCompilation<*>
|
||||
) : KotlinSourceSetProcessor<Kotlin2JsCompile>(
|
||||
tasksProvider, taskDescription = "Compiles the Kotlin sources in $kotlinCompilation to JavaScript.",
|
||||
kotlinCompilation = kotlinCompilation
|
||||
) {
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out Kotlin2JsCompile> {
|
||||
val configAction = Kotlin2JsCompileConfig(kotlinCompilation)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinJSTask(
|
||||
project,
|
||||
taskName,
|
||||
kotlinCompilation.compilerOptions.options as CompilerJsOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.tasks.named(kotlinCompilation.compileAllTaskName).configure {
|
||||
it.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
val compilation = kotlinCompilation as KotlinJsIrCompilation
|
||||
|
||||
compilation.binaries
|
||||
.withType(JsIrBinary::class.java)
|
||||
.all { binary ->
|
||||
val configAction = KotlinJsIrLinkConfig(binary)
|
||||
configAction.configureTask {
|
||||
it.description = taskDescription
|
||||
it.libraries.from({ kotlinCompilation.compileDependencyFiles })
|
||||
}
|
||||
configAction.configureTask { task ->
|
||||
task.modeProperty.set(binary.mode)
|
||||
task.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
tasksProvider.registerKotlinJsIrTask(project, binary.linkTaskName, configAction)
|
||||
}
|
||||
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
subpluginEnvironment.addSubpluginOptions(project, kotlinCompilation)
|
||||
}
|
||||
}
|
||||
}
|
||||
-52
@@ -9,7 +9,6 @@ import com.android.build.gradle.*
|
||||
import org.gradle.api.*
|
||||
import org.gradle.api.attributes.Category
|
||||
import org.gradle.api.attributes.Usage
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.publish.PublishingExtension
|
||||
@@ -33,8 +32,6 @@ import org.jetbrains.kotlin.gradle.targets.js.ir.*
|
||||
import org.jetbrains.kotlin.gradle.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.tasks.configuration.*
|
||||
import org.jetbrains.kotlin.gradle.utils.*
|
||||
import java.io.File
|
||||
import java.util.concurrent.Callable
|
||||
|
||||
const val PLUGIN_CLASSPATH_CONFIGURATION_NAME = "kotlinCompilerPluginClasspath"
|
||||
const val NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME = "kotlinNativeCompilerPluginClasspath"
|
||||
@@ -48,55 +45,6 @@ val KOTLIN_JS_DSL_NAME = "kotlin2js"
|
||||
val KOTLIN_OPTIONS_DSL_NAME = "kotlinOptions"
|
||||
|
||||
|
||||
|
||||
internal class KotlinJsIrSourceSetProcessor(
|
||||
tasksProvider: KotlinTasksProvider,
|
||||
kotlinCompilation: AbstractKotlinCompilation<*>
|
||||
) : KotlinSourceSetProcessor<Kotlin2JsCompile>(
|
||||
tasksProvider, taskDescription = "Compiles the Kotlin sources in $kotlinCompilation to JavaScript.",
|
||||
kotlinCompilation = kotlinCompilation
|
||||
) {
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out Kotlin2JsCompile> {
|
||||
val configAction = Kotlin2JsCompileConfig(kotlinCompilation)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinJSTask(
|
||||
project,
|
||||
taskName,
|
||||
kotlinCompilation.compilerOptions.options as KotlinJsCompilerOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.tasks.named(kotlinCompilation.compileAllTaskName).configure {
|
||||
it.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
val compilation = kotlinCompilation as KotlinJsIrCompilation
|
||||
|
||||
compilation.binaries
|
||||
.withType(JsIrBinary::class.java)
|
||||
.all { binary ->
|
||||
val configAction = KotlinJsIrLinkConfig(binary)
|
||||
configAction.configureTask {
|
||||
it.description = taskDescription
|
||||
it.libraries.from({ kotlinCompilation.compileDependencyFiles })
|
||||
}
|
||||
configAction.configureTask { task ->
|
||||
task.modeProperty.set(binary.mode)
|
||||
task.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
tasksProvider.registerKotlinJsIrTask(project, binary.linkTaskName, configAction)
|
||||
}
|
||||
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
subpluginEnvironment.addSubpluginOptions(project, kotlinCompilation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class KotlinCommonSourceSetProcessor(
|
||||
compilation: KotlinCompilationData<*>,
|
||||
tasksProvider: KotlinTasksProvider
|
||||
|
||||
Reference in New Issue
Block a user