[Gradle] Fix usages of kotlinOptions in KotlinJsIrTarget

Replaced them with compiler options DSL.

^KT-63419 In Progress
This commit is contained in:
Yahor Berdnikau
2024-02-23 12:56:17 +01:00
committed by Space Team
parent 0986733f29
commit 66a39952ee
2 changed files with 24 additions and 23 deletions
@@ -612,7 +612,6 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
@GradleTest
fun testPackageJsonWithEsModules(gradleVersion: GradleVersion) {
project("kotlin-js-browser-project", gradleVersion) {
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
subProject("app").buildGradleKts.modify {
it + """
|
@@ -629,7 +628,7 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
Gson().fromJson(it.readText(), PackageJson::class.java)
}
assertEquals(packageJson.main, "kotlin/kotlin-js-browser-app.mjs")
assertEquals("kotlin/kotlin-js-browser-app.mjs", packageJson.main)
}
}
@@ -8,9 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider
import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
@@ -38,7 +36,6 @@ import org.jetbrains.kotlin.gradle.utils.*
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
import org.jetbrains.kotlin.utils.addIfNotNull
import java.io.File
import javax.inject.Inject
abstract class KotlinJsIrTarget
@@ -304,28 +301,33 @@ constructor(
}
override fun useCommonJs() {
compilations.all {
it.kotlinOptions.configureCommonJsOptions()
compilations.configureEach { jsCompilation ->
jsCompilation.compileTaskProvider.configure {
compilerOptions.configureCommonJsOptions()
}
it.binaries
jsCompilation.binaries
.withType(JsIrBinary::class.java)
.all {
.configureEach {
it.linkTask.configure { linkTask ->
linkTask.kotlinOptions.configureCommonJsOptions()
linkTask.compilerOptions.configureCommonJsOptions()
}
}
}
}
override fun useEsModules() {
compilations.all {
it.kotlinOptions.configureEsModulesOptions()
compilations.configureEach { jsCompilation ->
// Here it is essential to configure compilation compiler options as npm queries
// compilation fileExtension before any task configuration action is done
@Suppress("DEPRECATION")
jsCompilation.compilerOptions.options.configureEsModulesOptions()
it.binaries
jsCompilation.binaries
.withType(JsIrBinary::class.java)
.all {
.configureEach {
it.linkTask.configure { linkTask ->
linkTask.kotlinOptions.configureEsModulesOptions()
linkTask.compilerOptions.configureEsModulesOptions()
}
}
}
@@ -346,16 +348,16 @@ constructor(
}
}
private fun KotlinJsOptions.configureCommonJsOptions() {
moduleKind = "commonjs"
sourceMap = true
sourceMapEmbedSources = "never"
private fun KotlinJsCompilerOptions.configureCommonJsOptions() {
moduleKind.convention(JsModuleKind.MODULE_COMMONJS)
sourceMap.convention(true)
sourceMapEmbedSources.convention(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
}
private fun KotlinJsOptions.configureEsModulesOptions() {
moduleKind = "es"
sourceMap = true
sourceMapEmbedSources = "never"
private fun KotlinJsCompilerOptions.configureEsModulesOptions() {
moduleKind.convention(JsModuleKind.MODULE_ES)
sourceMap.convention(true)
sourceMapEmbedSources.convention(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
}
override fun generateTypeScriptDefinitions() {