From d827f9b040043d417486d3adf424d0cf6bf57c2c Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 27 Dec 2019 17:35:54 +0300 Subject: [PATCH] [Gradle, JS] JS compile tasks nit in archives now --- .../kotlin/gradle/plugin/KotlinPlugin.kt | 19 ++++++++++--------- .../gradle/targets/js/ir/KotlinJsIrPlugin.kt | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) 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 c228d731798..4272b793a16 100755 --- 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 @@ -88,7 +88,7 @@ internal abstract class KotlinSourceSetProcessor>( protected val sourceSetName: String = kotlinCompilation.compilationName - override val kotlinTask: TaskProvider = registerKotlinCompileTask(kotlinCompilation.compileKotlinTaskName) + override val kotlinTask: TaskProvider = prepareKotlinCompileTask(kotlinCompilation.compileKotlinTaskName) protected val javaSourceSet: SourceSet? get() = @@ -110,6 +110,11 @@ internal abstract class KotlinSourceSetProcessor>( return File(project.buildDir, "classes/kotlin/$targetSubDirectory${kotlinCompilation.compilationName}") } + private fun prepareKotlinCompileTask(name: String): TaskProvider = + registerKotlinCompileTask(name).also { task -> + kotlinCompilation.output.addClassesDir { project.files(task.map { it.destinationDir }) } + } + protected fun registerKotlinCompileTask(): TaskProvider { val name = kotlinCompilation.compileKotlinTaskName logger.kotlinDebug("Creating kotlin compile task $name") @@ -118,14 +123,10 @@ internal abstract class KotlinSourceSetProcessor>( destinationDir.set(project.provider { defaultKotlinDestinationDir }) } - val result = doRegisterTask(project, name) { + return doRegisterTask(project, name) { it.description = taskDescription it.mapClasspath { kotlinCompilation.compileDependencyFiles } } - - kotlinCompilation.output.addClassesDir { project.files(result.map { it.destinationDir }) } - - return result } override fun run() { @@ -398,12 +399,12 @@ internal class KotlinJsIrSourceSetProcessor( listOf( compilation.productionLinkTaskName, compilation.developmentLinkTaskName - ).map { taskName -> + ).onEach { taskName -> registerKotlinCompileTask( taskName ) - }.forEach { task -> - task.configure { + }.forEach { taskName -> + project.tasks.named(taskName) { it.dependsOn(kotlinTask) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrPlugin.kt index a68d0984959..8ad405d4710 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrPlugin.kt @@ -28,7 +28,7 @@ open class KotlinJsIrPlugin( val kotlinExtension = project.kotlinExtension as KotlinJsIrProjectExtension configureDefaultVersionsResolutionStrategy(project, kotlinPluginVersion) - val target = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion).createTarget("Js") + val target = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion).createTarget("jsIr") kotlinExtension.target = target