[Gradle] Fix usages of kotlinOptions in KotlinJsIrTarget
Replaced them with compiler options DSL. ^KT-63419 In Progress
This commit is contained in:
committed by
Space Team
parent
0986733f29
commit
66a39952ee
+1
-2
@@ -612,7 +612,6 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
|
|||||||
@GradleTest
|
@GradleTest
|
||||||
fun testPackageJsonWithEsModules(gradleVersion: GradleVersion) {
|
fun testPackageJsonWithEsModules(gradleVersion: GradleVersion) {
|
||||||
project("kotlin-js-browser-project", gradleVersion) {
|
project("kotlin-js-browser-project", gradleVersion) {
|
||||||
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
|
|
||||||
subProject("app").buildGradleKts.modify {
|
subProject("app").buildGradleKts.modify {
|
||||||
it + """
|
it + """
|
||||||
|
|
|
|
||||||
@@ -629,7 +628,7 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
|
|||||||
Gson().fromJson(it.readText(), PackageJson::class.java)
|
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)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+23
-21
@@ -8,9 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
|
|||||||
import org.gradle.api.NamedDomainObjectContainer
|
import org.gradle.api.NamedDomainObjectContainer
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.provider.Provider
|
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
|
||||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||||
import org.jetbrains.kotlin.gradle.dsl.*
|
import org.jetbrains.kotlin.gradle.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
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.capitalizeAsciiOnly
|
||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
import java.io.File
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
abstract class KotlinJsIrTarget
|
abstract class KotlinJsIrTarget
|
||||||
@@ -304,28 +301,33 @@ constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun useCommonJs() {
|
override fun useCommonJs() {
|
||||||
compilations.all {
|
compilations.configureEach { jsCompilation ->
|
||||||
it.kotlinOptions.configureCommonJsOptions()
|
jsCompilation.compileTaskProvider.configure {
|
||||||
|
compilerOptions.configureCommonJsOptions()
|
||||||
|
}
|
||||||
|
|
||||||
it.binaries
|
jsCompilation.binaries
|
||||||
.withType(JsIrBinary::class.java)
|
.withType(JsIrBinary::class.java)
|
||||||
.all {
|
.configureEach {
|
||||||
it.linkTask.configure { linkTask ->
|
it.linkTask.configure { linkTask ->
|
||||||
linkTask.kotlinOptions.configureCommonJsOptions()
|
linkTask.compilerOptions.configureCommonJsOptions()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun useEsModules() {
|
override fun useEsModules() {
|
||||||
compilations.all {
|
compilations.configureEach { jsCompilation ->
|
||||||
it.kotlinOptions.configureEsModulesOptions()
|
// 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)
|
.withType(JsIrBinary::class.java)
|
||||||
.all {
|
.configureEach {
|
||||||
it.linkTask.configure { linkTask ->
|
it.linkTask.configure { linkTask ->
|
||||||
linkTask.kotlinOptions.configureEsModulesOptions()
|
linkTask.compilerOptions.configureEsModulesOptions()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -346,16 +348,16 @@ constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KotlinJsOptions.configureCommonJsOptions() {
|
private fun KotlinJsCompilerOptions.configureCommonJsOptions() {
|
||||||
moduleKind = "commonjs"
|
moduleKind.convention(JsModuleKind.MODULE_COMMONJS)
|
||||||
sourceMap = true
|
sourceMap.convention(true)
|
||||||
sourceMapEmbedSources = "never"
|
sourceMapEmbedSources.convention(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KotlinJsOptions.configureEsModulesOptions() {
|
private fun KotlinJsCompilerOptions.configureEsModulesOptions() {
|
||||||
moduleKind = "es"
|
moduleKind.convention(JsModuleKind.MODULE_ES)
|
||||||
sourceMap = true
|
sourceMap.convention(true)
|
||||||
sourceMapEmbedSources = "never"
|
sourceMapEmbedSources.convention(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun generateTypeScriptDefinitions() {
|
override fun generateTypeScriptDefinitions() {
|
||||||
|
|||||||
Reference in New Issue
Block a user