diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/CreateModuleOrTargetPopup.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/CreateModuleOrTargetPopup.kt index 544bcdece0e..e6d8b68402e 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/CreateModuleOrTargetPopup.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/CreateModuleOrTargetPopup.kt @@ -42,7 +42,7 @@ class CreateModuleOrTargetPopup private constructor( if (allowMultiplatform) +MppModuleConfigurator +JvmSinglePlatformModuleConfigurator if (allowAndroid) +AndroidSinglePlatformModuleConfigurator - if (allowSinglepaltformJs) +JsSingleplatformModuleConfigurator + if (allowSinglepaltformJs) +BrowserJsSinglePlatformModuleConfigurator if (allowIos) +IOSSinglePlatformModuleConfigurator } ) { diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/ModulesEditorToolbarDecorator.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/ModulesEditorToolbarDecorator.kt index f6cf88d4538..eb7ab1aa428 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/ModulesEditorToolbarDecorator.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/modulesEditor/ModulesEditorToolbarDecorator.kt @@ -7,7 +7,7 @@ import com.intellij.ui.ToolbarDecorator import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidSinglePlatformModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.IOSSinglePlatformModuleConfigurator -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsSingleplatformModuleConfigurator +import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.BrowserJsSinglePlatformModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.MppModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.withAllSubModules import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module @@ -38,7 +38,7 @@ class ModulesEditorToolbarDecorator( && allModules.none { it.configurator == MppModuleConfigurator }, allowSinglepaltformJs = isMultiplatformProject() && isRootModule - && allModules.none { it.configurator == JsSingleplatformModuleConfigurator }, + && allModules.none { it.configurator == BrowserJsSinglePlatformModuleConfigurator }, allowAndroid = isRootModule && isMultiplatformProject() && allModules.none { it.configurator == AndroidSinglePlatformModuleConfigurator }, 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 aa75372009a..280cdd23d2c 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 @@ -84,7 +84,7 @@ interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorW } } -object JsSingleplatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWithTests, SinglePlatformModuleConfigurator, +open class JsSinglePlatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWithTests, SinglePlatformModuleConfigurator, ModuleConfiguratorWithSettings { override fun getConfiguratorSettings(): List> = super.getConfiguratorSettings() + @@ -123,6 +123,8 @@ object JsSingleplatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWi } } +object BrowserJsSinglePlatformModuleConfigurator : JsSinglePlatformModuleConfigurator() + fun GradleIRListBuilder.applicationSupport() { +"binaries.executable()" } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfigurator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfigurator.kt index 560c1ad1061..ded3e6535d3 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfigurator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfigurator.kt @@ -6,7 +6,6 @@ import org.jetbrains.kotlin.tools.projectWizard.SettingsOwner import org.jetbrains.kotlin.tools.projectWizard.core.* import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.* import org.jetbrains.kotlin.tools.projectWizard.enumSettingImpl -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.BuildFileIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.BuildSystemIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.KotlinBuildSystemPluginIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.StdlibType @@ -264,7 +263,7 @@ interface ModuleConfigurator : DisplayableSettingItem, EntitiesOwnerDescriptor { +JvmSinglePlatformModuleConfigurator +AndroidSinglePlatformModuleConfigurator +IOSSinglePlatformModuleConfigurator - +JsSingleplatformModuleConfigurator + +BrowserJsSinglePlatformModuleConfigurator } init { diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Module.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Module.kt index e5fc54af698..bfb1090d614 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Module.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Module.kt @@ -1,6 +1,5 @@ package org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem -import kotlinx.collections.immutable.PersistentList import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.tools.projectWizard.GeneratedIdentificator import org.jetbrains.kotlin.tools.projectWizard.Identificator @@ -68,7 +67,7 @@ class Module( configurator == MppModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.mpp.module") configurator == AndroidSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.android.module") configurator == IOSSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.ios.module") - configurator == JsSingleplatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.js.module") + configurator == BrowserJsSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.js.module") else -> KotlinNewProjectWizardBundle.message("module.kind.module") } 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 e8be8461481..b6348b67ecc 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 @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.* import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatform.DefaultTargetConfigurationIR import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact -import org.jetbrains.kotlin.tools.projectWizard.library.NpmArtifact import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleSubType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType @@ -29,7 +28,6 @@ import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin -import org.jetbrains.kotlin.tools.projectWizard.templates.withSettingsOf class SimpleJsClientTemplate : Template() { override val title: String = KotlinNewProjectWizardBundle.message("module.template.js.simple.title") @@ -45,7 +43,7 @@ class SimpleJsClientTemplate : Template() { module: Module ): Boolean = when (module.configurator) { JsBrowserTargetConfigurator -> true - JsSingleplatformModuleConfigurator -> { + BrowserJsSinglePlatformModuleConfigurator -> { with(reader) { withSettingsOf(module, module.configurator) { JSConfigurator.kind.reference.notRequiredSettingValue == JsTargetKind.APPLICATION