[Gradle, JS] SubPlugin environment to js ir link task

This commit is contained in:
Ilya Goncharov
2021-06-23 13:21:29 +03:00
committed by Space
parent 05883afc0a
commit 5bfdd5be5f
@@ -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) {