mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Changed Kotlin New Gradle wizard default to generate simple single-module projects
This commit changes the combo box to instead offer the user to generate multi-module projects, which is off by default. ^KTIJ-31797 fixed (cherry picked from commit c7a5d72c56c2b8b91b4f5cbf33deda097d84ec63) IJ-CR-148070 GitOrigin-RevId: a318fa0978b7630272bda4547e68499a032da597
This commit is contained in:
committed by
intellij-monorepo-bot
parent
edb1b1cd27
commit
9ea5dbf0f3
+8
-8
@@ -33,7 +33,7 @@ object NewProjectWizardCollector : CounterUsagesCollector() {
|
||||
|
||||
override fun getGroup(): EventLogGroup = GROUP
|
||||
|
||||
val GROUP: EventLogGroup = EventLogGroup("new.project.wizard.interactions", 37)
|
||||
val GROUP: EventLogGroup = EventLogGroup("new.project.wizard.interactions", 38)
|
||||
|
||||
private val LANGUAGES = listOf(
|
||||
NewProjectWizardConstants.Language.JAVA, NewProjectWizardConstants.Language.KOTLIN,
|
||||
@@ -70,7 +70,7 @@ object NewProjectWizardCollector : CounterUsagesCollector() {
|
||||
private val groovyVersionField = EventFields.Version
|
||||
private val groovySourceTypeField = EventFields.String("groovy_sdk_type", GROOVY_SDKS)
|
||||
private val useCompactProjectStructureField = EventFields.Boolean("use_compact_project_structure")
|
||||
private val generateSingleModuleBuildField = EventFields.Boolean("generate_single_module_build")
|
||||
private val generateMultipleModulesField = EventFields.Boolean("generate_multiple_modules")
|
||||
private val pluginField = EventFields.String("plugin_selected", LANGUAGES)
|
||||
|
||||
private val baseFields = arrayOf(sessionIdField, screenNumField, generatorTypeField)
|
||||
@@ -120,8 +120,8 @@ object NewProjectWizardCollector : CounterUsagesCollector() {
|
||||
|
||||
private val useCompactProjectStructureChanged = GROUP.registerVarargEvent("build.system.use.compact.project.structure.changed", *buildSystemFields, useCompactProjectStructureField)
|
||||
private val useCompactProjectStructureFinished = GROUP.registerVarargEvent("build.system.use.compact.project.structure.finished", *buildSystemFields, useCompactProjectStructureField)
|
||||
private val generateSingleModuleBuildChanged = GROUP.registerVarargEvent("kotlin.generate.single.module.build.changed", *buildSystemFields, generateSingleModuleBuildField)
|
||||
private val generateSingleModuleBuildFinished = GROUP.registerVarargEvent("kotlin.generate.single.module.build.finished", *buildSystemFields, generateSingleModuleBuildField)
|
||||
private val generateMultipleModulesChanged = GROUP.registerVarargEvent("kotlin.generate.multiple.modules.changed", *buildSystemFields, generateMultipleModulesField)
|
||||
private val generateMultipleModulesFinished = GROUP.registerVarargEvent("kotlin.generate.multiple.modules.finished", *buildSystemFields, generateMultipleModulesField)
|
||||
private val kotlinClickKmpWizardLinkEvent = GROUP.registerVarargEvent("kotlin.kmp.wizard.link.clicked", *buildSystemFields)
|
||||
// @formatter:on
|
||||
|
||||
@@ -320,11 +320,11 @@ object NewProjectWizardCollector : CounterUsagesCollector() {
|
||||
fun NewProjectWizardStep.logUseCompactProjectStructureFinished(isSelected: Boolean): Unit =
|
||||
useCompactProjectStructureFinished.logBuildSystemEvent(this, useCompactProjectStructureField with isSelected)
|
||||
|
||||
fun NewProjectWizardStep.logGenerateSingleModuleBuildChanged(isSelected: Boolean): Unit =
|
||||
generateSingleModuleBuildChanged.logBuildSystemEvent(this, generateSingleModuleBuildField with isSelected)
|
||||
fun NewProjectWizardStep.logGenerateMultipleModulesChanged(isSelected: Boolean): Unit =
|
||||
generateMultipleModulesChanged.logBuildSystemEvent(this, generateMultipleModulesField with isSelected)
|
||||
|
||||
fun NewProjectWizardStep.logGenerateSingleModuleBuildFinished(isSelected: Boolean): Unit =
|
||||
generateSingleModuleBuildFinished.logBuildSystemEvent(this, generateSingleModuleBuildField with isSelected)
|
||||
fun NewProjectWizardStep.logGenerateMultipleModulesFinished(isSelected: Boolean): Unit =
|
||||
generateMultipleModulesFinished.logBuildSystemEvent(this, generateMultipleModulesField with isSelected)
|
||||
|
||||
fun NewProjectWizardStep.logKmpWizardLinkClicked(): Unit =
|
||||
kotlinClickKmpWizardLinkEvent.logBuildSystemEvent(this)
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@ import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampl
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampleCodeFinished
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampleOnboardingTipsChanged
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampleOnboardingTipsFinished
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Kotlin.logGenerateSingleModuleBuildChanged
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Kotlin.logGenerateSingleModuleBuildFinished
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Kotlin.logGenerateMultipleModulesChanged
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardCollector.Kotlin.logGenerateMultipleModulesFinished
|
||||
import com.intellij.ide.projectWizard.NewProjectWizardConstants.BuildSystem.GRADLE
|
||||
import com.intellij.ide.projectWizard.generators.AssetsJava
|
||||
import com.intellij.ide.projectWizard.generators.AssetsNewProjectWizardStep
|
||||
@@ -72,7 +72,7 @@ import org.toml.lang.psi.TomlFile
|
||||
import org.toml.lang.psi.TomlInlineTable
|
||||
import org.toml.lang.psi.TomlTable
|
||||
|
||||
private const val GENERATE_SINGLE_MODULE_PROPERTY_NAME: String = "NewProjectWizard.generateSingleModule"
|
||||
private const val GENERATE_MULTIPLE_MODULES_PROPERTY_NAME: String = "NewProjectWizard.generateMultipleModules"
|
||||
|
||||
private const val KOTLIN_GRADLE_PLUGIN_ID = "org.jetbrains.kotlin:kotlin-gradle-plugin"
|
||||
|
||||
@@ -109,10 +109,10 @@ internal class GradleKotlinNewProjectWizard : BuildSystemKotlinNewProjectWizard
|
||||
|
||||
override var generateOnboardingTips by generateOnboardingTipsProperty
|
||||
|
||||
val generateSingleModuleProperty = propertyGraph.property(false)
|
||||
.bindBooleanStorage(GENERATE_SINGLE_MODULE_PROPERTY_NAME)
|
||||
private val generateMultipleModulesProperty = propertyGraph.property(false)
|
||||
.bindBooleanStorage(GENERATE_MULTIPLE_MODULES_PROPERTY_NAME)
|
||||
|
||||
override var generateSingleModule by generateSingleModuleProperty
|
||||
override var generateMultipleModules by generateMultipleModulesProperty
|
||||
|
||||
private val gradleVersionSupportsConventionPlugins = propertyGraph.property(false)
|
||||
|
||||
@@ -124,7 +124,7 @@ internal class GradleKotlinNewProjectWizard : BuildSystemKotlinNewProjectWizard
|
||||
}
|
||||
|
||||
internal val shouldGenerateMultipleModules
|
||||
get() = !generateSingleModule && gradleDsl == GradleDsl.KOTLIN && context.isCreatingNewProject &&
|
||||
get() = generateMultipleModules && gradleDsl == GradleDsl.KOTLIN && context.isCreatingNewProject &&
|
||||
gradleVersionSupportsConventionPlugins.get()
|
||||
|
||||
private fun setupSampleCodeUI(builder: Panel) {
|
||||
@@ -149,13 +149,13 @@ internal class GradleKotlinNewProjectWizard : BuildSystemKotlinNewProjectWizard
|
||||
|
||||
private fun setupMultipleModulesUI(builder: Panel) {
|
||||
builder.row {
|
||||
checkBox(KotlinNewProjectWizardUIBundle.message("label.project.wizard.new.project.generate.single.module"))
|
||||
.bindSelected(generateSingleModuleProperty)
|
||||
checkBox(KotlinNewProjectWizardUIBundle.message("label.project.wizard.new.project.generate.multiple.modules"))
|
||||
.bindSelected(generateMultipleModulesProperty)
|
||||
.enabledIf(gradleDslProperty.equalsTo(GradleDsl.KOTLIN))
|
||||
.whenStateChangedFromUi { logGenerateSingleModuleBuildChanged(it) }
|
||||
.onApply { logGenerateSingleModuleBuildFinished(generateSingleModule) }
|
||||
.whenStateChangedFromUi { logGenerateMultipleModulesChanged(it) }
|
||||
.onApply { logGenerateMultipleModulesFinished(generateMultipleModules) }
|
||||
|
||||
contextHelp(KotlinNewProjectWizardUIBundle.message("tooltip.project.wizard.new.project.generate.single.module"))
|
||||
contextHelp(KotlinNewProjectWizardUIBundle.message("tooltip.project.wizard.new.project.generate.multiple.modules"))
|
||||
}.visibleIf(gradleDslProperty.equalsTo(GradleDsl.KOTLIN).and(gradleVersionSupportsConventionPlugins))
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import org.jetbrains.plugins.gradle.service.project.wizard.GradleNewProjectWizar
|
||||
|
||||
interface GradleKotlinNewProjectWizardData : GradleNewProjectWizardData, KotlinOnboardingProjectWizardData {
|
||||
|
||||
var generateSingleModule: Boolean
|
||||
var generateMultipleModules: Boolean
|
||||
|
||||
companion object {
|
||||
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ finish.button.text=Finish
|
||||
dialog.title.invalid.project.name=Invalid Project Name
|
||||
label.project.wizard.new.project.use.compact.project.structure=Use compact project structure
|
||||
tooltip.project.wizard.new.project.use.compact.project.structure=A concise project structure with less folder nesting (src/Main.kt)
|
||||
label.project.wizard.new.project.generate.single.module=Generate single module build
|
||||
tooltip.project.wizard.new.project.generate.single.module=Generates a simple single module more suitable for small applications or testing
|
||||
label.project.wizard.new.project.generate.multiple.modules=Generate multi-module build
|
||||
tooltip.project.wizard.new.project.generate.multiple.modules=Multi-module setup suitable for medium and large projects
|
||||
|
||||
project.wizard.new.project.kotlin.comment=For targeting different platforms, please use <a>Kotlin Multiplatform</a>.
|
||||
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@ class GradleKotlinNewProjectWizardTest : GradleCreateProjectTestCase(), NewKotli
|
||||
baseData!!.path = testRoot.toNioPath().getResolvedPath(path).parent.toCanonicalPath()
|
||||
kotlinBuildSystemData!!.buildSystem = GRADLE
|
||||
kotlinGradleData!!.parentData = parentData
|
||||
kotlinGradleData!!.generateSingleModule = !generateMultipleModules
|
||||
kotlinGradleData!!.generateMultipleModules = generateMultipleModules
|
||||
kotlinGradleData!!.gradleDsl = if (useKotlinDsl) GradleDsl.KOTLIN else GradleDsl.GROOVY
|
||||
kotlinGradleData!!.groupId = groupId
|
||||
kotlinGradleData!!.artifactId = name
|
||||
|
||||
Reference in New Issue
Block a user