[JS, Wizard] Use IR in gradle.properties and otherwise use as a param
^KT-41418 fixed
This commit is contained in:
+6
-1
@@ -44,6 +44,7 @@ interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorW
|
|||||||
GradlePlugin.gradleProperties
|
GradlePlugin.gradleProperties
|
||||||
.addValues(
|
.addValues(
|
||||||
"kotlin.js.generate.executable.default" to "false",
|
"kotlin.js.generate.executable.default" to "false",
|
||||||
|
"kotlin.js.compiler" to JsCompiler.IR.text.toLowerCase()
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun getConfiguratorSettings(): List<ModuleConfiguratorSetting<*, *>> =
|
override fun getConfiguratorSettings(): List<ModuleConfiguratorSetting<*, *>> =
|
||||||
@@ -154,7 +155,11 @@ abstract class JsSinglePlatformModuleConfigurator :
|
|||||||
module: Module
|
module: Module
|
||||||
): List<BuildSystemIR> = irsList {
|
): List<BuildSystemIR> = irsList {
|
||||||
"kotlin" {
|
"kotlin" {
|
||||||
"js(${reader.settingsValue(module, JSConfigurator.compiler).text})" {
|
val compiler = reader.settingsValue(module, JSConfigurator.compiler)
|
||||||
|
val param = if (compiler != JsCompiler.IR) {
|
||||||
|
"(${compiler.text})"
|
||||||
|
} else ""
|
||||||
|
"js${param}" {
|
||||||
subTarget(module, reader)
|
subTarget(module, reader)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-2
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatf
|
|||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsBrowserBasedConfigurator.Companion.browserSubTarget
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsBrowserBasedConfigurator.Companion.browserSubTarget
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsBrowserBasedConfigurator.Companion.cssSupport
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsBrowserBasedConfigurator.Companion.cssSupport
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsNodeBasedConfigurator.Companion.nodejsSubTarget
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsNodeBasedConfigurator.Companion.nodejsSubTarget
|
||||||
|
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsNodeTargetConfigurator.createTargetIrs
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.buildSystemType
|
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.buildSystemType
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.isGradle
|
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.isGradle
|
||||||
@@ -78,6 +79,16 @@ internal fun Module.createTargetAccessIr(
|
|||||||
|
|
||||||
interface JsTargetConfigurator : JSConfigurator, TargetConfigurator, SingleCoexistenceTargetConfigurator, ModuleConfiguratorWithSettings
|
interface JsTargetConfigurator : JSConfigurator, TargetConfigurator, SingleCoexistenceTargetConfigurator, ModuleConfiguratorWithSettings
|
||||||
|
|
||||||
|
internal fun JsTargetConfigurator.jsCompilerParam(
|
||||||
|
reader: Reader,
|
||||||
|
module: Module
|
||||||
|
) =
|
||||||
|
reader.settingValue(module, JSConfigurator.compiler)?.let {
|
||||||
|
if (it != JsCompiler.IR) {
|
||||||
|
listOf(it.text)
|
||||||
|
} else emptyList()
|
||||||
|
} ?: emptyList()
|
||||||
|
|
||||||
enum class JsTargetKind(override val text: String) : DisplayableSettingItem {
|
enum class JsTargetKind(override val text: String) : DisplayableSettingItem {
|
||||||
LIBRARY(KotlinNewProjectWizardBundle.message("module.configurator.js.target.settings.kind.library")),
|
LIBRARY(KotlinNewProjectWizardBundle.message("module.configurator.js.target.settings.kind.library")),
|
||||||
APPLICATION(KotlinNewProjectWizardBundle.message("module.configurator.js.target.settings.kind.application"))
|
APPLICATION(KotlinNewProjectWizardBundle.message("module.configurator.js.target.settings.kind.application"))
|
||||||
@@ -108,7 +119,7 @@ object JsBrowserTargetConfigurator : JsTargetConfigurator, ModuleConfiguratorWit
|
|||||||
+DefaultTargetConfigurationIR(
|
+DefaultTargetConfigurationIR(
|
||||||
module.createTargetAccessIr(
|
module.createTargetAccessIr(
|
||||||
ModuleSubType.js,
|
ModuleSubType.js,
|
||||||
listOf(settingValue(module, JSConfigurator.compiler)?.text)
|
jsCompilerParam(this@createTargetIrs, module)
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
browserSubTarget(module, this@createTargetIrs)
|
browserSubTarget(module, this@createTargetIrs)
|
||||||
@@ -128,7 +139,7 @@ object JsNodeTargetConfigurator : JsTargetConfigurator {
|
|||||||
+DefaultTargetConfigurationIR(
|
+DefaultTargetConfigurationIR(
|
||||||
module.createTargetAccessIr(
|
module.createTargetAccessIr(
|
||||||
ModuleSubType.js,
|
ModuleSubType.js,
|
||||||
listOf(settingValue(module, JSConfigurator.compiler)?.text)
|
jsCompilerParam(this@createTargetIrs, module)
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
nodejsSubTarget(module, this@createTargetIrs)
|
nodejsSubTarget(module, this@createTargetIrs)
|
||||||
|
|||||||
Reference in New Issue
Block a user