From 5bfdd5be5ff88351bc8bcce63beec681163f94fb Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 23 Jun 2021 13:21:29 +0300 Subject: [PATCH] [Gradle, JS] SubPlugin environment to js ir link task --- .../kotlin/gradle/plugin/SubpluginEnvironment.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt index a644cf13a7d..3c10752fb71 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/SubpluginEnvironment.kt @@ -11,6 +11,8 @@ 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.targets.js.ir.JsIrBinary +import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile @@ -80,7 +82,7 @@ class SubpluginEnvironment( val subpluginOptionsProvider = subplugin.applyToCompilation(kotlinCompilation) val subpluginId = subplugin.getCompilerPluginId() - kotlinCompilation.compileKotlinTaskProvider.configure { + val configureKotlinTask: (KotlinCompile<*>) -> Unit = { val pluginOptions = it.getPluginOptions() val subpluginOptions = subpluginOptionsProvider.get() for (option in subpluginOptions) { @@ -89,6 +91,16 @@ class SubpluginEnvironment( it.registerSubpluginOptionsAsInputs(subpluginId, subpluginOptions) } + kotlinCompilation.compileKotlinTaskProvider.configure(configureKotlinTask) + + if (kotlinCompilation is KotlinJsIrCompilation) { + kotlinCompilation.binaries.all { + if (it is JsIrBinary) { + it.linkTask.configure(configureKotlinTask) + } + } + } + project.logger.kotlinDebug("Subplugin $pluginId loaded") if (subplugin is LegacyKotlinCompilerPluginSupportPlugin) {