Wizard: add setting to hide version & groupId in gradle

This commit is contained in:
Ilya Kirillov
2020-10-10 23:50:46 +03:00
parent d3e99bd7a7
commit 9948c265df
3 changed files with 19 additions and 3 deletions
@@ -24,6 +24,7 @@ data class BuildFileIR(
val fromModules: List<Module>, val fromModules: List<Module>,
val pom: PomIR, val pom: PomIR,
val isRoot: Boolean, val isRoot: Boolean,
val renderPomIr: Boolean,
override val irs: PersistentList<BuildSystemIR>, override val irs: PersistentList<BuildSystemIR>,
) : FileIR { ) : FileIR {
override fun withReplacedIrs(irs: PersistentList<BuildSystemIR>): BuildFileIR = copy(irs = irs) override fun withReplacedIrs(irs: PersistentList<BuildSystemIR>): BuildFileIR = copy(irs = irs)
@@ -57,7 +58,9 @@ data class BuildFileIR(
} }
} }
sectionCall("plugins", irsOfType<BuildSystemPluginIR>()); nl(lineBreaks = 2) sectionCall("plugins", irsOfType<BuildSystemPluginIR>()); nl(lineBreaks = 2)
pom.render(this); nl() if (renderPomIr) {
pom.render(this); nl()
}
distinctRepositories().takeIf { it.isNotEmpty() }?.let { repositories -> distinctRepositories().takeIf { it.isNotEmpty() }?.let { repositories ->
sectionCall("repositories", repositories) sectionCall("repositories", repositories)
nl(lineBreaks = 2) nl(lineBreaks = 2)
@@ -72,6 +72,14 @@ class StructurePlugin(context: Context) : Plugin(context) {
validate(StringValidators.shouldBeValidIdentifier(title, ALLOWED_SPECIAL_CHARS_IN_VERSION)) validate(StringValidators.shouldBeValidIdentifier(title, ALLOWED_SPECIAL_CHARS_IN_VERSION))
defaultValue = value("1.0-SNAPSHOT") defaultValue = value("1.0-SNAPSHOT")
} }
val renderPomIR by booleanSetting(
"<RENDER_POM_IR>",
GenerationPhase.FIRST_STEP,
) {
defaultValue = value(true)
}
val createProjectDir by pipelineTask(GenerationPhase.PROJECT_GENERATION) { val createProjectDir by pipelineTask(GenerationPhase.PROJECT_GENERATION) {
withAction { withAction {
service<FileSystemWizardService>().createDirectory(StructurePlugin.projectPath.settingValue) service<FileSystemWizardService>().createDirectory(StructurePlugin.projectPath.settingValue)
@@ -85,7 +93,8 @@ class StructurePlugin(context: Context) : Plugin(context) {
name, name,
groupId, groupId,
artifactId, artifactId,
version version,
renderPomIR
) )
override val pipelineTasks: List<PipelineTask> = override val pipelineTasks: List<PipelineTask> =
listOf(createProjectDir) listOf(createProjectDir)
@@ -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.core.service.WizardKotlinVersion
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.*
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* 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.buildSystemType import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.buildSystemType
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.gradle.GradlePlugin 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( BuildFileIR(
projectName, projectName,
projectPath, projectPath,
@@ -110,6 +111,7 @@ class ModulesToIRsConverter(
emptyList(), emptyList(),
pomIr, pomIr,
isRoot = true, isRoot = true,
renderPomIr = StructurePlugin.renderPomIR.settingValue,
rootBuildFileIrs.toPersistentList() rootBuildFileIrs.toPersistentList()
) )
} }
@@ -191,6 +193,7 @@ class ModulesToIRsConverter(
listOf(module), listOf(module),
data.pomIr.copy(artifactId = module.name), data.pomIr.copy(artifactId = module.name),
isRoot = false, /* TODO */ isRoot = false, /* TODO */
renderPomIr = StructurePlugin.renderPomIR.settingValue,
createBuildFileIRs(module, state) createBuildFileIRs(module, state)
).also { ).also {
moduleToBuildFile[module] = it moduleToBuildFile[module] = it
@@ -233,6 +236,7 @@ class ModulesToIRsConverter(
module.subModules + module, module.subModules + module,
pomIr, pomIr,
isRoot = false, isRoot = false,
renderPomIr = StructurePlugin.renderPomIR.settingValue,
buildPersistenceList { buildPersistenceList {
+createBuildFileIRs(module, state) +createBuildFileIRs(module, state)
module.subModules.forEach { +createBuildFileIRs(it, state) } module.subModules.forEach { +createBuildFileIRs(it, state) }