diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildFileIR.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildFileIR.kt index de06b7dd800..2391e6707bc 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildFileIR.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildFileIR.kt @@ -24,6 +24,7 @@ data class BuildFileIR( val fromModules: List, val pom: PomIR, val isRoot: Boolean, + val renderPomIr: Boolean, override val irs: PersistentList, ) : FileIR { override fun withReplacedIrs(irs: PersistentList): BuildFileIR = copy(irs = irs) @@ -57,7 +58,9 @@ data class BuildFileIR( } } sectionCall("plugins", irsOfType()); nl(lineBreaks = 2) - pom.render(this); nl() + if (renderPomIr) { + pom.render(this); nl() + } distinctRepositories().takeIf { it.isNotEmpty() }?.let { repositories -> sectionCall("repositories", repositories) nl(lineBreaks = 2) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/StructurePlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/StructurePlugin.kt index 52adfa70024..da2f89a17e4 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/StructurePlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/StructurePlugin.kt @@ -72,6 +72,14 @@ class StructurePlugin(context: Context) : Plugin(context) { validate(StringValidators.shouldBeValidIdentifier(title, ALLOWED_SPECIAL_CHARS_IN_VERSION)) defaultValue = value("1.0-SNAPSHOT") } + + val renderPomIR by booleanSetting( + "", + GenerationPhase.FIRST_STEP, + ) { + defaultValue = value(true) + } + val createProjectDir by pipelineTask(GenerationPhase.PROJECT_GENERATION) { withAction { service().createDirectory(StructurePlugin.projectPath.settingValue) @@ -85,7 +93,8 @@ class StructurePlugin(context: Context) : Plugin(context) { name, groupId, artifactId, - version + version, + renderPomIR ) override val pipelineTasks: List = listOf(createProjectDir) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt index ef578b903b8..73b23e89e9e 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt @@ -8,6 +8,7 @@ import org.jetbrains.kotlin.tools.projectWizard.core.* import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* +import org.jetbrains.kotlin.tools.projectWizard.plugins.StructurePlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemType import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.buildSystemType import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.gradle.GradlePlugin @@ -102,7 +103,7 @@ class ModulesToIRsConverter( } } - private fun createRootBuildFile(): BuildFileIR = with(data) { + private fun Reader.createRootBuildFile(): BuildFileIR = with(data) { BuildFileIR( projectName, projectPath, @@ -110,6 +111,7 @@ class ModulesToIRsConverter( emptyList(), pomIr, isRoot = true, + renderPomIr = StructurePlugin.renderPomIR.settingValue, rootBuildFileIrs.toPersistentList() ) } @@ -191,6 +193,7 @@ class ModulesToIRsConverter( listOf(module), data.pomIr.copy(artifactId = module.name), isRoot = false, /* TODO */ + renderPomIr = StructurePlugin.renderPomIR.settingValue, createBuildFileIRs(module, state) ).also { moduleToBuildFile[module] = it @@ -233,6 +236,7 @@ class ModulesToIRsConverter( module.subModules + module, pomIr, isRoot = false, + renderPomIr = StructurePlugin.renderPomIR.settingValue, buildPersistenceList { +createBuildFileIRs(module, state) module.subModules.forEach { +createBuildFileIRs(it, state) }