[Gradle, JS] JsSinglePlatform -> BrowserJsSinglePlatform

^KT-40527 fixed
This commit is contained in:
Ilya Goncharov
2020-07-20 19:01:17 +03:00
parent b4334a3a3b
commit e8dfc4dcd0
6 changed files with 9 additions and 11 deletions
@@ -42,7 +42,7 @@ class CreateModuleOrTargetPopup private constructor(
if (allowMultiplatform) +MppModuleConfigurator if (allowMultiplatform) +MppModuleConfigurator
+JvmSinglePlatformModuleConfigurator +JvmSinglePlatformModuleConfigurator
if (allowAndroid) +AndroidSinglePlatformModuleConfigurator if (allowAndroid) +AndroidSinglePlatformModuleConfigurator
if (allowSinglepaltformJs) +JsSingleplatformModuleConfigurator if (allowSinglepaltformJs) +BrowserJsSinglePlatformModuleConfigurator
if (allowIos) +IOSSinglePlatformModuleConfigurator if (allowIos) +IOSSinglePlatformModuleConfigurator
} }
) { ) {
@@ -7,7 +7,7 @@ import com.intellij.ui.ToolbarDecorator
import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidSinglePlatformModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidSinglePlatformModuleConfigurator
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.IOSSinglePlatformModuleConfigurator 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.moduleConfigurators.MppModuleConfigurator
import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.withAllSubModules import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.withAllSubModules
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
@@ -38,7 +38,7 @@ class ModulesEditorToolbarDecorator(
&& allModules.none { it.configurator == MppModuleConfigurator }, && allModules.none { it.configurator == MppModuleConfigurator },
allowSinglepaltformJs = isMultiplatformProject() allowSinglepaltformJs = isMultiplatformProject()
&& isRootModule && isRootModule
&& allModules.none { it.configurator == JsSingleplatformModuleConfigurator }, && allModules.none { it.configurator == BrowserJsSinglePlatformModuleConfigurator },
allowAndroid = isRootModule allowAndroid = isRootModule
&& isMultiplatformProject() && isMultiplatformProject()
&& allModules.none { it.configurator == AndroidSinglePlatformModuleConfigurator }, && allModules.none { it.configurator == AndroidSinglePlatformModuleConfigurator },
@@ -84,7 +84,7 @@ interface JSConfigurator : ModuleConfiguratorWithModuleType, ModuleConfiguratorW
} }
} }
object JsSingleplatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWithTests, SinglePlatformModuleConfigurator, open class JsSinglePlatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWithTests, SinglePlatformModuleConfigurator,
ModuleConfiguratorWithSettings { ModuleConfiguratorWithSettings {
override fun getConfiguratorSettings(): List<ModuleConfiguratorSetting<*, *>> = override fun getConfiguratorSettings(): List<ModuleConfiguratorSetting<*, *>> =
super<ModuleConfiguratorWithTests>.getConfiguratorSettings() + super<ModuleConfiguratorWithTests>.getConfiguratorSettings() +
@@ -123,6 +123,8 @@ object JsSingleplatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWi
} }
} }
object BrowserJsSinglePlatformModuleConfigurator : JsSinglePlatformModuleConfigurator()
fun GradleIRListBuilder.applicationSupport() { fun GradleIRListBuilder.applicationSupport() {
+"binaries.executable()" +"binaries.executable()"
} }
@@ -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.*
import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.* import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.*
import org.jetbrains.kotlin.tools.projectWizard.enumSettingImpl 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.BuildSystemIR
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.KotlinBuildSystemPluginIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.KotlinBuildSystemPluginIR
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.StdlibType import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.StdlibType
@@ -264,7 +263,7 @@ interface ModuleConfigurator : DisplayableSettingItem, EntitiesOwnerDescriptor {
+JvmSinglePlatformModuleConfigurator +JvmSinglePlatformModuleConfigurator
+AndroidSinglePlatformModuleConfigurator +AndroidSinglePlatformModuleConfigurator
+IOSSinglePlatformModuleConfigurator +IOSSinglePlatformModuleConfigurator
+JsSingleplatformModuleConfigurator +BrowserJsSinglePlatformModuleConfigurator
} }
init { init {
@@ -1,6 +1,5 @@
package org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem package org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem
import kotlinx.collections.immutable.PersistentList
import org.jetbrains.annotations.NonNls import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.tools.projectWizard.GeneratedIdentificator import org.jetbrains.kotlin.tools.projectWizard.GeneratedIdentificator
import org.jetbrains.kotlin.tools.projectWizard.Identificator import org.jetbrains.kotlin.tools.projectWizard.Identificator
@@ -68,7 +67,7 @@ class Module(
configurator == MppModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.mpp.module") configurator == MppModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.mpp.module")
configurator == AndroidSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.android.module") configurator == AndroidSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.android.module")
configurator == IOSSinglePlatformModuleConfigurator -> KotlinNewProjectWizardBundle.message("module.kind.ios.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") else -> KotlinNewProjectWizardBundle.message("module.kind.module")
} }
@@ -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.*
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatform.DefaultTargetConfigurationIR 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.MavenArtifact
import org.jetbrains.kotlin.tools.projectWizard.library.NpmArtifact
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase 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.ModuleSubType
import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType 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.Versions
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.*
import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin
import org.jetbrains.kotlin.tools.projectWizard.templates.withSettingsOf
class SimpleJsClientTemplate : Template() { class SimpleJsClientTemplate : Template() {
override val title: String = KotlinNewProjectWizardBundle.message("module.template.js.simple.title") override val title: String = KotlinNewProjectWizardBundle.message("module.template.js.simple.title")
@@ -45,7 +43,7 @@ class SimpleJsClientTemplate : Template() {
module: Module module: Module
): Boolean = when (module.configurator) { ): Boolean = when (module.configurator) {
JsBrowserTargetConfigurator -> true JsBrowserTargetConfigurator -> true
JsSingleplatformModuleConfigurator -> { BrowserJsSinglePlatformModuleConfigurator -> {
with(reader) { with(reader) {
withSettingsOf(module, module.configurator) { withSettingsOf(module, module.configurator) {
JSConfigurator.kind.reference.notRequiredSettingValue == JsTargetKind.APPLICATION JSConfigurator.kind.reference.notRequiredSettingValue == JsTargetKind.APPLICATION