[Gradle, JS] Js compiler type in interface
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.gradle.plugin
|
||||||
|
|
||||||
|
interface KotlinJsCompilerTypeHolder {
|
||||||
|
val defaultJsCompilerType: JsCompilerType
|
||||||
|
}
|
||||||
+7
-8
@@ -21,11 +21,8 @@ import org.gradle.api.NamedDomainObjectContainer
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.internal.plugins.DslObject
|
import org.gradle.api.internal.plugins.DslObject
|
||||||
import org.gradle.util.ConfigureUtil
|
import org.gradle.util.ConfigureUtil
|
||||||
import org.jetbrains.kotlin.gradle.plugin.JsCompilerType
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.JsCompilerType.*
|
import org.jetbrains.kotlin.gradle.plugin.JsCompilerType.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetContainer
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsSingleTargetPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsSingleTargetPreset
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
|
||||||
@@ -91,17 +88,19 @@ open class Kotlin2JsProjectExtension : KotlinSingleJavaTargetExtension() {
|
|||||||
open fun target(body: KotlinWithJavaTarget<KotlinJsOptions>.() -> Unit) = target.run(body)
|
open fun target(body: KotlinWithJavaTarget<KotlinJsOptions>.() -> Unit) = target.run(body)
|
||||||
}
|
}
|
||||||
|
|
||||||
open class KotlinJsProjectExtension : KotlinSingleTargetExtension() {
|
open class KotlinJsProjectExtension :
|
||||||
|
KotlinSingleTargetExtension(),
|
||||||
|
KotlinJsCompilerTypeHolder {
|
||||||
lateinit var irPreset: KotlinJsIrSingleTargetPreset
|
lateinit var irPreset: KotlinJsIrSingleTargetPreset
|
||||||
|
|
||||||
lateinit var legacyPreset: KotlinJsSingleTargetPreset
|
lateinit var legacyPreset: KotlinJsSingleTargetPreset
|
||||||
|
|
||||||
override lateinit var target: KotlinJsTargetDsl
|
override lateinit var target: KotlinJsTargetDsl
|
||||||
|
|
||||||
internal lateinit var defaultCompilerType: JsCompilerType
|
override lateinit var defaultJsCompilerType: JsCompilerType
|
||||||
|
|
||||||
open fun js(
|
open fun js(
|
||||||
compiler: JsCompilerType = defaultCompilerType,
|
compiler: JsCompilerType = defaultJsCompilerType,
|
||||||
body: KotlinJsTargetDsl.() -> Unit
|
body: KotlinJsTargetDsl.() -> Unit
|
||||||
) {
|
) {
|
||||||
val target: KotlinJsTargetDsl = when (compiler) {
|
val target: KotlinJsTargetDsl = when (compiler) {
|
||||||
@@ -133,7 +132,7 @@ open class KotlinJsProjectExtension : KotlinSingleTargetExtension() {
|
|||||||
|
|
||||||
open fun js(
|
open fun js(
|
||||||
body: KotlinJsTargetDsl.() -> Unit
|
body: KotlinJsTargetDsl.() -> Unit
|
||||||
) = js(compiler = defaultCompilerType, body = body)
|
) = js(compiler = defaultJsCompilerType, body = body)
|
||||||
|
|
||||||
@Deprecated("Use js instead", ReplaceWith("js(body)"))
|
@Deprecated("Use js instead", ReplaceWith("js(body)"))
|
||||||
open fun target(body: KotlinJsTargetDsl.() -> Unit) = js(body)
|
open fun target(body: KotlinJsTargetDsl.() -> Unit) = js(body)
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ open class KotlinJsPlugin(
|
|||||||
kotlinExtension.apply {
|
kotlinExtension.apply {
|
||||||
irPreset = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion)
|
irPreset = KotlinJsIrSingleTargetPreset(project, kotlinPluginVersion)
|
||||||
legacyPreset = KotlinJsSingleTargetPreset(project, kotlinPluginVersion)
|
legacyPreset = KotlinJsSingleTargetPreset(project, kotlinPluginVersion)
|
||||||
defaultCompilerType = PropertiesProvider(project).jsCompiler
|
defaultJsCompilerType = PropertiesProvider(project).jsCompiler
|
||||||
}
|
}
|
||||||
|
|
||||||
// Explicitly create configurations for main and test
|
// Explicitly create configurations for main and test
|
||||||
|
|||||||
Reference in New Issue
Block a user