Wizard: do not suggest invalid groupId
This commit is contained in:
+9
-1
@@ -49,6 +49,7 @@ class NewProjectWizardModuleBuilder : EmptyModuleBuilder() {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val MODULE_BUILDER_ID = "kotlin.newProjectWizard.builder"
|
const val MODULE_BUILDER_ID = "kotlin.newProjectWizard.builder"
|
||||||
|
private const val DEFAULT_GROUP_ID = "me.user"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isAvailable(): Boolean = NewProjectWizardService.isEnabled
|
override fun isAvailable(): Boolean = NewProjectWizardService.isEnabled
|
||||||
@@ -118,7 +119,14 @@ class NewProjectWizardModuleBuilder : EmptyModuleBuilder() {
|
|||||||
settingsStep.safeAs<ProjectSettingsStep>()?.bindModuleSettings()
|
settingsStep.safeAs<ProjectSettingsStep>()?.bindModuleSettings()
|
||||||
|
|
||||||
wizard.artifactId = suggestedProjectName
|
wizard.artifactId = suggestedProjectName
|
||||||
wizard.groupId = SystemProperties.getUserName()?.let { "me.$it" } ?: suggestedProjectName
|
wizard.groupId = suggestGroupId()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun suggestGroupId(): String {
|
||||||
|
val username = SystemProperties.getUserName() ?: return DEFAULT_GROUP_ID
|
||||||
|
if (!username.matches("[\\w\\s]+".toRegex())) return DEFAULT_GROUP_ID
|
||||||
|
val usernameAsGroupId = username.trim().toLowerCase().split("\\s+".toRegex()).joinToString(separator = ".")
|
||||||
|
return "me.$usernameAsGroupId"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCustomOptionsStep(context: WizardContext?, parentDisposable: Disposable?) =
|
override fun getCustomOptionsStep(context: WizardContext?, parentDisposable: Disposable?) =
|
||||||
|
|||||||
Reference in New Issue
Block a user