From 0d606e1346c36d3b98f9455e4a8258081df09cd6 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 21 Jul 2020 14:18:23 +0300 Subject: [PATCH] [Gradle, JS] Fix id and text in simple js module configurators ^KT-40527 fixed --- .../singleplatformJs/settings.yaml | 2 +- .../KotlinNewProjectWizardBundle.properties | 3 ++- .../JsModuleConfigurator.kt | 26 +++++++++++++------ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/buildFileGeneration/singleplatformJs/settings.yaml b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/buildFileGeneration/singleplatformJs/settings.yaml index 28a085c6618..aae86d62bb1 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/buildFileGeneration/singleplatformJs/settings.yaml +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/testData/buildFileGeneration/singleplatformJs/settings.yaml @@ -1,5 +1,5 @@ kotlin: projectKind: js modules: - - type: jsSinglePlatform + - type: jsBrowserSinglePlatform name: a \ No newline at end of file diff --git a/libraries/tools/new-project-wizard/resources/messages/KotlinNewProjectWizardBundle.properties b/libraries/tools/new-project-wizard/resources/messages/KotlinNewProjectWizardBundle.properties index 3d24fff8a2a..31d1d880d26 100644 --- a/libraries/tools/new-project-wizard/resources/messages/KotlinNewProjectWizardBundle.properties +++ b/libraries/tools/new-project-wizard/resources/messages/KotlinNewProjectWizardBundle.properties @@ -72,7 +72,8 @@ module.type.ios=iOS module.name=Module name module.name.with.name=Module name {0} -module.configurator.js=JS for Browser +module.configurator.simple.js.browser=JS for Browser +module.configurator.simple.js.node=JS for Node.JS module.configurator.android=Android module.configurator.android.setting.android.plugin=Android plugin diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt index 25ececd916c..fc2a09fada4 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt @@ -89,7 +89,7 @@ enum class JsTarget { NODE; } -open class JsSinglePlatformModuleConfigurator( +abstract class JsSinglePlatformModuleConfigurator( private val jsTarget: JsTarget ) : JSConfigurator, ModuleConfiguratorWithTests, SinglePlatformModuleConfigurator, ModuleConfiguratorWithSettings { @@ -103,8 +103,7 @@ open class JsSinglePlatformModuleConfigurator( override val suggestedModuleName = "js" @NonNls - override val id = "jsSinglePlatform" - override val text = KotlinNewProjectWizardBundle.message("module.configurator.js") + override val id = "js${jsTarget.name.toLowerCase().capitalize()}SinglePlatform" override fun defaultTestFramework(): KotlinTestFramework = KotlinTestFramework.JS @@ -123,13 +122,12 @@ open class JsSinglePlatformModuleConfigurator( ): List = irsList { "kotlin" { "js" { - when (jsTarget) { - JsTarget.BROWSER -> browserSubTarget(module, reader) - JsTarget.NODE -> nodejsSubTarget(module, reader) - } + subTarget(module, reader) } } } + + protected abstract fun GradleIRListBuilder.subTarget(module: Module, reader: Reader) } object BrowserJsSinglePlatformModuleConfigurator : JsSinglePlatformModuleConfigurator( @@ -139,11 +137,23 @@ object BrowserJsSinglePlatformModuleConfigurator : JsSinglePlatformModuleConfigu return super.getConfiguratorSettings() + JSConfigurator.cssSupport } + + override fun GradleIRListBuilder.subTarget(module: Module, reader: Reader) { + browserSubTarget(module, reader) + } + + override val text = KotlinNewProjectWizardBundle.message("module.configurator.simple.js.browser") } object NodeJsSinglePlatformModuleConfigurator : JsSinglePlatformModuleConfigurator( JsTarget.NODE -) +) { + override fun GradleIRListBuilder.subTarget(module: Module, reader: Reader) { + nodejsSubTarget(module, reader) + } + + override val text = KotlinNewProjectWizardBundle.message("module.configurator.simple.js.node") +} fun GradleIRListBuilder.applicationSupport() { +"binaries.executable()"