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 @@ -84,7 +84,7 @@ data class GenerateProjectRequest(
typeOfStringResources = typeOfStringResources,
layers = layers,
generateUnitTest = generateUnitTest,
gradle = resolveGradle(cliGradle, versionsFile),
gradle = VersionsResolver.resolveGradle(cliGradle, versionsFile),
projectRootPath = resolveProjectRootPath(outputDir, language, resolvedProjectName),
develocity = resolveDevelocityEnabled(develocityFlag, versionsOverrides.develocityUrl),
projectName = resolvedProjectName
Expand Down Expand Up @@ -135,9 +135,3 @@ internal fun resolveProjectRootPath(outputDir: String?, language: Language, proj
}
}
}

internal fun resolveGradle(cliGradle: String?, versionsFile: VersionsFile?): Gradle {
return cliGradle?.let(Gradle::fromValue)
?: versionsFile?.gradle
?: Gradle.latest()
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.cdsap.projectgenerator.cli

import io.github.cdsap.projectgenerator.model.DependencyInjection
import io.github.cdsap.projectgenerator.model.Gradle
import io.github.cdsap.projectgenerator.model.Versions
import io.github.cdsap.projectgenerator.model.VersionsFile

Expand Down Expand Up @@ -37,4 +38,10 @@ object VersionsResolver {
val base = fileVersions?.resolve() ?: Versions()
return overrides.applyTo(base)
}

fun resolveGradle(cliGradle: String?, fileVersions: VersionsFile?): Gradle {
return cliGradle?.let(Gradle::fromValue)
?: fileVersions?.gradle
?: Gradle.latest()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import io.github.cdsap.projectgenerator.model.Language
import io.github.cdsap.projectgenerator.model.Shape
import io.github.cdsap.projectgenerator.model.TypeOfStringResources
import io.github.cdsap.projectgenerator.model.TypeProjectRequested
import io.github.cdsap.projectgenerator.model.VersionsFile
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue
Expand Down Expand Up @@ -135,28 +134,6 @@ class GenerateProjectsCliTest {
assertTrue(error.message?.contains(Gradle.supportedDisplayValues()) == true)
}

@Test
fun `gradle from versions file is used when flag is absent`() {
val configured = Gradle.supported()[1]
val resolved = resolveGradle(null, VersionsFile(gradle = configured))

assertEquals(configured, resolved)
}

@Test
fun `gradle flag overrides versions file`() {
val resolved = resolveGradle(Gradle.latest().cliValue, VersionsFile(gradle = Gradle.oldest()))

assertEquals(Gradle.latest(), resolved)
}

@Test
fun `latest gradle is used when neither flag nor versions file provide one`() {
val resolved = resolveGradle(null, null)

assertEquals(Gradle.latest(), resolved)
}

@Test
fun `default output path for kts nests project name and project_kts`() {
val resolved = resolveProjectRootPath(null, Language.KTS, "sample")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator.cli

import io.github.cdsap.projectgenerator.model.Android
import io.github.cdsap.projectgenerator.model.DependencyInjection
import io.github.cdsap.projectgenerator.model.Gradle
import io.github.cdsap.projectgenerator.model.Project
import io.github.cdsap.projectgenerator.model.Versions
import io.github.cdsap.projectgenerator.model.VersionsFile
Expand Down Expand Up @@ -86,4 +87,29 @@ class VersionsResolverTest {
assertEquals("", resolved.project.develocityUrl)
assertEquals(DependencyInjection.METRO, resolved.di)
}

@Test
fun `gradle from versions file is used when flag is absent`() {
val configured = Gradle.supported()[1]
val resolved = VersionsResolver.resolveGradle(null, VersionsFile(gradle = configured))

assertEquals(configured, resolved)
}

@Test
fun `gradle flag overrides versions file`() {
val resolved = VersionsResolver.resolveGradle(
Gradle.latest().cliValue,
VersionsFile(gradle = Gradle.oldest())
)

assertEquals(Gradle.latest(), resolved)
}

@Test
fun `latest gradle is used when neither flag nor versions file provide one`() {
val resolved = VersionsResolver.resolveGradle(null, null)

assertEquals(Gradle.latest(), resolved)
}
}
Loading