[Gradle, JS] SubPlugin environment to js ir link task
This commit is contained in:
+13
-1
@@ -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.KotlinJvmAndroidCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation
|
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.AbstractKotlinCompile
|
||||||
import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions
|
import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
|
||||||
@@ -80,7 +82,7 @@ class SubpluginEnvironment(
|
|||||||
val subpluginOptionsProvider = subplugin.applyToCompilation(kotlinCompilation)
|
val subpluginOptionsProvider = subplugin.applyToCompilation(kotlinCompilation)
|
||||||
val subpluginId = subplugin.getCompilerPluginId()
|
val subpluginId = subplugin.getCompilerPluginId()
|
||||||
|
|
||||||
kotlinCompilation.compileKotlinTaskProvider.configure {
|
val configureKotlinTask: (KotlinCompile<*>) -> Unit = {
|
||||||
val pluginOptions = it.getPluginOptions()
|
val pluginOptions = it.getPluginOptions()
|
||||||
val subpluginOptions = subpluginOptionsProvider.get()
|
val subpluginOptions = subpluginOptionsProvider.get()
|
||||||
for (option in subpluginOptions) {
|
for (option in subpluginOptions) {
|
||||||
@@ -89,6 +91,16 @@ class SubpluginEnvironment(
|
|||||||
it.registerSubpluginOptionsAsInputs(subpluginId, subpluginOptions)
|
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")
|
project.logger.kotlinDebug("Subplugin $pluginId loaded")
|
||||||
|
|
||||||
if (subplugin is LegacyKotlinCompilerPluginSupportPlugin) {
|
if (subplugin is LegacyKotlinCompilerPluginSupportPlugin) {
|
||||||
|
|||||||
Reference in New Issue
Block a user