Wizard: fix missed setting in Ktor template

#KT-38120 fixed
This commit is contained in:
Ilya Kirillov
2020-04-09 19:06:59 +03:00
parent 4cfa2f95a7
commit 67f95c21da
6 changed files with 20 additions and 14 deletions
@@ -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
)
@@ -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<FileTemplateDescriptorWithPath> {
+(FileTemplateDescriptor("$id/main.kt.vm", "main.kt".asPath()) asSrcOf SourcesetType.main)
}
@@ -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<FileTemplateDescriptorWithPath> = listOf(
override fun Reader.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> = listOf(
FileTemplateDescriptor("$id/server.kt.vm", "server.kt".asPath()) asSrcOf SourcesetType.main
)
@@ -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<FileTemplateDescriptorWithPath> = buildList {
override fun Reader.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> = buildList {
+(FileTemplateDescriptor("$id/main.kt.vm", "main.kt".asPath()) asSrcOf SourcesetType.main)
}
}
@@ -90,7 +90,7 @@ class SimpleJsClientTemplate : Template() {
}
override fun Writer.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> =
override fun Reader.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> =
withSettingsOf(module.originalModule) {
buildList {
val hasKtorServNeighbourTarget = module.safeAs<MultiplatformModuleIR>()
@@ -116,6 +116,9 @@ class SimpleJsClientTemplate : Template() {
}
}
override fun Reader.getAdditionalSettings(module: Module): Map<String, Any> = withSettingsOf(module) {
mapOf("useStyledComponents" to (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED))
}
override fun createInterceptors(module: ModuleIR): List<TemplateInterceptor> = buildList {
+interceptTemplate(KtorServerTemplate()) {
@@ -97,7 +97,8 @@ abstract class Template : SettingsOwner, EntitiesOwnerDescriptor, DisplayableSet
targetConfigurationIR: TargetConfigurationIR
): TargetConfigurationIR = targetConfigurationIR
open fun Writer.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> = emptyList()
open fun Reader.getFileTemplates(module: ModuleIR): List<FileTemplateDescriptorWithPath> = emptyList()
open fun Reader.getAdditionalSettings(module: Module): Map<String, Any> = emptyMap()
open fun createInterceptors(module: ModuleIR): List<TemplateInterceptor> = emptyList()
@@ -123,15 +124,18 @@ abstract class Template : SettingsOwner, EntitiesOwnerDescriptor, DisplayableSet
return result.asSuccess()
}
fun Writer.settingsAsMap(module: Module): Map<String, Any> =
fun Reader.settingsAsMap(module: Module): Map<String, Any> = mutableMapOf<String, Any>().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()
)