From 67f95c21dabd3dee9ff3f6afabe85272ee51b5b3 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 9 Apr 2020 19:06:59 +0300 Subject: [PATCH] Wizard: fix missed setting in Ktor template #KT-38120 fixed --- .../plugins/templates/TemplatesPlugin.kt | 2 +- .../templates/ConsoleJvmApplicationTemplate.kt | 3 ++- .../projectWizard/templates/KtorServerTemplate.kt | 4 ++-- .../templates/NativeConsoleApplicationTemplate.kt | 6 ++---- .../templates/SimpleJsClientTemplate.kt | 5 ++++- .../tools/projectWizard/templates/Template.kt | 14 +++++++++----- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/TemplatesPlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/TemplatesPlugin.kt index f506024b7c2..e9e19a2348d 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/TemplatesPlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/TemplatesPlugin.kt @@ -129,7 +129,7 @@ class TemplatesPlugin(context: Context) : Plugin(context) { }.sequenceIgnore() } - private fun Writer.defaultSettings(moduleIR: ModuleIR) = mapOf( + private fun Reader.defaultSettings(moduleIR: ModuleIR) = mapOf( "projectName" to projectName, "moduleName" to moduleIR.name ) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/ConsoleJvmApplicationTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/ConsoleJvmApplicationTemplate.kt index 205091d3bc6..2beb63c18e6 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/ConsoleJvmApplicationTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/ConsoleJvmApplicationTemplate.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.runTaskIrs import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.SourcesetType import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle +import org.jetbrains.kotlin.tools.projectWizard.core.Reader class ConsoleJvmApplicationTemplate : Template() { @NonNls @@ -31,7 +32,7 @@ class ConsoleJvmApplicationTemplate : Template() { override fun updateTargetIr(module: ModuleIR, targetConfigurationIR: TargetConfigurationIR): TargetConfigurationIR = targetConfigurationIR.addWithJavaIntoJvmTarget() - override fun Writer.getFileTemplates(module: ModuleIR) = + override fun Reader.getFileTemplates(module: ModuleIR) = buildList { +(FileTemplateDescriptor("$id/main.kt.vm", "main.kt".asPath()) asSrcOf SourcesetType.main) } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/KtorServerTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/KtorServerTemplate.kt index d862050502b..d732478869d 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/KtorServerTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/KtorServerTemplate.kt @@ -21,10 +21,10 @@ import org.jetbrains.kotlin.tools.projectWizard.settings.DisplayableSettingItem import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.DefaultRepository import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Repositories import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.SourcesetType -import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version import org.jetbrains.kotlin.tools.projectWizard.transformers.interceptors.InterceptionPoint import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.Versions +import org.jetbrains.kotlin.tools.projectWizard.core.Reader class KtorServerTemplate : Template() { override val title: String = KotlinNewProjectWizardBundle.message("module.template.ktor.server.title") @@ -56,7 +56,7 @@ class KtorServerTemplate : Template() { override fun updateTargetIr(module: ModuleIR, targetConfigurationIR: TargetConfigurationIR): TargetConfigurationIR = targetConfigurationIR.addWithJavaIntoJvmTarget() - override fun Writer.getFileTemplates(module: ModuleIR): List = listOf( + override fun Reader.getFileTemplates(module: ModuleIR): List = listOf( FileTemplateDescriptor("$id/server.kt.vm", "server.kt".asPath()) asSrcOf SourcesetType.main ) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/NativeConsoleApplicationTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/NativeConsoleApplicationTemplate.kt index 46dbc614ad8..278c16e2137 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/NativeConsoleApplicationTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/NativeConsoleApplicationTemplate.kt @@ -6,9 +6,6 @@ package org.jetbrains.kotlin.tools.projectWizard.templates -import org.jetbrains.kotlin.tools.projectWizard.core.Writer -import org.jetbrains.kotlin.tools.projectWizard.core.asPath -import org.jetbrains.kotlin.tools.projectWizard.core.buildList import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.ModuleIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatform.NativeTargetInternalIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatform.TargetConfigurationIR @@ -16,6 +13,7 @@ import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.withIrs import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.SourcesetType import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle +import org.jetbrains.kotlin.tools.projectWizard.core.* import org.jetbrains.kotlin.tools.projectWizard.core.safeAs import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.NativeTargetConfigurator import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module @@ -33,7 +31,7 @@ class NativeConsoleApplicationTemplate : Template() { override fun updateTargetIr(module: ModuleIR, targetConfigurationIR: TargetConfigurationIR): TargetConfigurationIR = targetConfigurationIR.withIrs(NativeTargetInternalIR("main")) - override fun Writer.getFileTemplates(module: ModuleIR): List = buildList { + override fun Reader.getFileTemplates(module: ModuleIR): List = buildList { +(FileTemplateDescriptor("$id/main.kt.vm", "main.kt".asPath()) asSrcOf SourcesetType.main) } } \ No newline at end of file diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt index aa2619aaf47..f03dcb18812 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt @@ -90,7 +90,7 @@ class SimpleJsClientTemplate : Template() { } - override fun Writer.getFileTemplates(module: ModuleIR): List = + override fun Reader.getFileTemplates(module: ModuleIR): List = withSettingsOf(module.originalModule) { buildList { val hasKtorServNeighbourTarget = module.safeAs() @@ -116,6 +116,9 @@ class SimpleJsClientTemplate : Template() { } } + override fun Reader.getAdditionalSettings(module: Module): Map = withSettingsOf(module) { + mapOf("useStyledComponents" to (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED)) + } override fun createInterceptors(module: ModuleIR): List = buildList { +interceptTemplate(KtorServerTemplate()) { diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/Template.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/Template.kt index 1e04d93f8a2..32f1ae889ad 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/Template.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/Template.kt @@ -97,7 +97,8 @@ abstract class Template : SettingsOwner, EntitiesOwnerDescriptor, DisplayableSet targetConfigurationIR: TargetConfigurationIR ): TargetConfigurationIR = targetConfigurationIR - open fun Writer.getFileTemplates(module: ModuleIR): List = emptyList() + open fun Reader.getFileTemplates(module: ModuleIR): List = emptyList() + open fun Reader.getAdditionalSettings(module: Module): Map = emptyMap() open fun createInterceptors(module: ModuleIR): List = emptyList() @@ -123,15 +124,18 @@ abstract class Template : SettingsOwner, EntitiesOwnerDescriptor, DisplayableSet return result.asSuccess() } - fun Writer.settingsAsMap(module: Module): Map = + fun Reader.settingsAsMap(module: Module): Map = mutableMapOf().apply { withSettingsOf(module) { - settings.associate { setting -> + settings.associateTo(this@apply) { setting -> setting.path to setting.reference.settingValue } - } + createDefaultSettings() + } + putAll(createDefaultSettings()) + putAll(getAdditionalSettings(module)) + } - private fun Writer.createDefaultSettings() = mapOf( + private fun Reader.createDefaultSettings() = mapOf( "projectName" to StructurePlugin::name.settingValue.capitalize() )