[K/JS] Introduce v2015 target
This commit is contained in:
+3
-3
@@ -20,7 +20,7 @@ internal abstract class KotlinJsCompilerOptionsDefault @javax.inject.Inject cons
|
||||
objectFactory.property(kotlin.Boolean::class.java).convention(true)
|
||||
|
||||
override val moduleKind: org.gradle.api.provider.Property<org.jetbrains.kotlin.gradle.dsl.JsModuleKind> =
|
||||
objectFactory.property(org.jetbrains.kotlin.gradle.dsl.JsModuleKind::class.java).convention(org.jetbrains.kotlin.gradle.dsl.JsModuleKind.MODULE_PLAIN)
|
||||
objectFactory.property(org.jetbrains.kotlin.gradle.dsl.JsModuleKind::class.java)
|
||||
|
||||
override val moduleName: org.gradle.api.provider.Property<kotlin.String> =
|
||||
objectFactory.property(kotlin.String::class.java)
|
||||
@@ -42,11 +42,11 @@ internal abstract class KotlinJsCompilerOptionsDefault @javax.inject.Inject cons
|
||||
objectFactory.property(kotlin.String::class.java)
|
||||
|
||||
override val target: org.gradle.api.provider.Property<kotlin.String> =
|
||||
objectFactory.property(kotlin.String::class.java).convention("v5")
|
||||
objectFactory.property(kotlin.String::class.java).convention("es5")
|
||||
|
||||
override val typedArrays: org.gradle.api.provider.Property<kotlin.Boolean> =
|
||||
objectFactory.property(kotlin.Boolean::class.java).convention(true)
|
||||
|
||||
override val useEsClasses: org.gradle.api.provider.Property<kotlin.Boolean> =
|
||||
objectFactory.property(kotlin.Boolean::class.java).convention(false)
|
||||
objectFactory.property(kotlin.Boolean::class.java)
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ internal object KotlinJsCompilerOptionsHelper {
|
||||
args.friendModulesDisabled = from.friendModulesDisabled.get()
|
||||
args.main = from.main.get().mode
|
||||
args.metaInfo = from.metaInfo.get()
|
||||
args.moduleKind = from.moduleKind.get().kind
|
||||
args.moduleKind = from.moduleKind.orNull?.kind
|
||||
args.moduleName = from.moduleName.orNull
|
||||
args.noStdlib = from.noStdlib.get()
|
||||
args.sourceMap = from.sourceMap.get()
|
||||
@@ -24,7 +24,7 @@ internal object KotlinJsCompilerOptionsHelper {
|
||||
args.sourceMapPrefix = from.sourceMapPrefix.orNull
|
||||
args.target = from.target.get()
|
||||
args.typedArrays = from.typedArrays.get()
|
||||
args.useEsClasses = from.useEsClasses.get()
|
||||
args.useEsClasses = from.useEsClasses.orNull
|
||||
}
|
||||
|
||||
internal fun syncOptionsAsConvention(
|
||||
|
||||
+21
-10
@@ -3,7 +3,7 @@
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:Suppress("PackageDirectoryMismatch")
|
||||
@file:Suppress("PackageDirectoryMismatch", "DEPRECATION", "TYPEALIAS_EXPANSION_DEPRECATION")
|
||||
|
||||
// Old package for compatibility
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
@@ -13,8 +13,12 @@ import org.gradle.api.Action
|
||||
import org.gradle.api.attributes.AttributeContainer
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants
|
||||
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.DeprecatedHasCompilerOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsBinary
|
||||
@@ -23,7 +27,6 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||
import javax.inject.Inject
|
||||
|
||||
@Suppress("TYPEALIAS_EXPANSION_DEPRECATION", "DEPRECATION")
|
||||
open class KotlinJsCompilation @Inject internal constructor(
|
||||
compilation: KotlinCompilationImpl,
|
||||
) : DeprecatedAbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation),
|
||||
@@ -102,11 +105,19 @@ val KotlinJsCompilation.fileExtension: Provider<String>
|
||||
get() {
|
||||
val isWasm = platformType == KotlinPlatformType.wasm
|
||||
@Suppress("DEPRECATION")
|
||||
return compilerOptions.options.moduleKind.map { moduleKind ->
|
||||
if (isWasm || moduleKind == JsModuleKind.MODULE_ES) {
|
||||
"mjs"
|
||||
} else {
|
||||
"js"
|
||||
return compilerOptions.options.moduleKind
|
||||
.orElse(
|
||||
compilerOptions.options.target.map {
|
||||
if (it == K2JsArgumentConstants.ES_2015) {
|
||||
JsModuleKind.MODULE_ES
|
||||
} else JsModuleKind.MODULE_UMD
|
||||
}
|
||||
)
|
||||
.map { moduleKind ->
|
||||
if (isWasm || moduleKind == JsModuleKind.MODULE_ES) {
|
||||
"mjs"
|
||||
} else {
|
||||
"js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-1
@@ -13,6 +13,7 @@ import org.gradle.api.provider.Property
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants.ES_2015
|
||||
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
@@ -34,6 +35,7 @@ import org.jetbrains.kotlin.gradle.utils.doNotTrackStateCompat
|
||||
import org.jetbrains.kotlin.gradle.utils.domainObjectSet
|
||||
import org.jetbrains.kotlin.gradle.utils.relativeOrAbsolute
|
||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
||||
import javax.inject.Inject
|
||||
|
||||
abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
@@ -274,7 +276,11 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
this.inputFilesDirectory.set(inputFilesDirectory)
|
||||
|
||||
val platformType = binary.compilation.platformType
|
||||
val moduleKind = binary.linkTask.flatMap { it.compilerOptions.moduleKind }
|
||||
val moduleKind = binary.linkTask.flatMap { task ->
|
||||
task.compilerOptions.moduleKind.orElse(task.compilerOptions.target.map {
|
||||
if (it == ES_2015) JsModuleKind.MODULE_ES else JsModuleKind.MODULE_UMD
|
||||
})
|
||||
}
|
||||
|
||||
this.entryModuleName.set(entryModuleName)
|
||||
this.esModules.convention(
|
||||
|
||||
-2
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
|
||||
import org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
||||
@@ -15,7 +14,6 @@ open class KotlinJsIrTargetConfigurator :
|
||||
|
||||
internal companion object {
|
||||
internal fun KotlinJsCompilerOptions.configureJsDefaultOptions() {
|
||||
moduleKind.convention(JsModuleKind.MODULE_UMD)
|
||||
sourceMap.convention(true)
|
||||
sourceMapEmbedSources.convention(JsSourceMapEmbedMode.SOURCE_MAP_SOURCE_CONTENT_NEVER)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user