Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ import io.github.cdsap.projectgenerator.model.Versions
import java.io.File

class GenerateVersionsYaml {
fun generate() {
val file = File("versions.yaml")
file.writeText(render())
if (file.exists()) println("file versions.yaml created ")
fun generate(outputFile: File = File("versions.yaml")) {
outputFile.writeText(render())
if (outputFile.exists()) println("file ${outputFile.name} created ")
}

internal fun render(versions: Versions = Versions(), gradle: Gradle = Gradle.latest()): String {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import com.github.ajalt.clikt.parameters.types.choice
import com.github.ajalt.clikt.parameters.types.file
import com.github.ajalt.clikt.parameters.types.int
import io.github.cdsap.projectgenerator.model.*
import java.io.File

fun main(args: Array<String>) {
ProjectReportCli()
Expand Down Expand Up @@ -89,6 +90,6 @@ class GenerateProjects : CliktCommand(name = "generate-project") {

class GenerateYaml : CliktCommand(name = "generate-yaml-versions") {
override fun run() {
GenerateVersionsYaml().generate()
GenerateVersionsYaml().generate(File("versions.yaml"))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,18 @@ package io.github.cdsap.projectgenerator.cli

import io.github.cdsap.projectgenerator.model.Gradle
import io.github.cdsap.projectgenerator.model.Versions
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.io.TempDir
import java.io.File
import java.nio.file.Path

class GenerateVersionsYamlTest {

@TempDir
lateinit var tempDir: Path

@Test
fun `render includes key defaults and plugin sections`() {
val versions = Versions()
Expand Down Expand Up @@ -34,4 +41,15 @@ class GenerateVersionsYamlTest {
assertTrue(yaml.contains("id: ${rootPlugin.id}"))
assertTrue(yaml.contains("version: ${rootPlugin.version}"))
}

@Test
fun `generate writes rendered yaml to explicit output file`() {
val outputFile = File(tempDir.toFile(), "versions.yaml")
val generator = GenerateVersionsYaml()

generator.generate(outputFile)

assertTrue(outputFile.exists())
assertEquals(generator.render(), outputFile.readText())
}
}
Loading