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 @@ -55,7 +55,8 @@ class ProjectGenerator(
generateUnitTest,
gradle,
develocity,
projectName
projectName,
nameMaps
).write()
projectLanguageAttributes.forEach { attributes ->
GraphWriter(nodes, attributes.projectName, nameMaps).write()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package io.github.cdsap.projectgenerator.writer

import io.github.cdsap.projectgenerator.ProjectNameMaps
import io.github.cdsap.projectgenerator.generator.rootproject.BuildGradle
import io.github.cdsap.projectgenerator.generator.rootproject.GradleProperties
import io.github.cdsap.projectgenerator.generator.rootproject.SettingsGradle
import io.github.cdsap.projectgenerator.generator.extension.projectFile
import io.github.cdsap.projectgenerator.generator.rootproject.Gitignore
import io.github.cdsap.projectgenerator.generator.toml.AndroidToml
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
import io.github.cdsap.projectgenerator.model.TypeOfStringResources
Expand All @@ -24,7 +24,8 @@ class ProjectWriter(
private val generateUnitTest: Boolean,
private val gradle: GradleWrapper,
private val develocity: Boolean,
private val projectName: String
private val projectName: String,
private val nameMaps: ProjectNameMaps
) {
fun write() {
println("Creating Convention Plugin files")
Expand Down Expand Up @@ -95,8 +96,8 @@ class ProjectWriter(
var settingsModules = ""

nodes.forEach {
val layerName = NameMappings.layerName(it.layer)
val moduleName = NameMappings.moduleName(it.id)
val layerName = nameMaps.layerNames[it.layer] ?: "layer_${it.layer}"
val moduleName = nameMaps.moduleNames[it.id] ?: it.id
settingsModules += "\ninclude (\":$layerName:$moduleName\")"
}
languages.forEach {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator.generator.buildfiles

import io.github.cdsap.projectgenerator.DefaultTestVersions.Companion.LATEST_GRADLE
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.ProjectNameMaps
import io.github.cdsap.projectgenerator.writer.ProjectWriter
import io.github.cdsap.projectgenerator.model.Gradle
import io.github.cdsap.projectgenerator.model.Android
Expand Down Expand Up @@ -43,7 +44,8 @@ class BuildFilesGeneratorAndroidTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val buildFile = File("${tempDir.path}/${NameMappings.layerName(1)}/module_1_1/build.gradle.kts")
Expand Down Expand Up @@ -76,7 +78,8 @@ class BuildFilesGeneratorAndroidTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val buildFile = File("${tempDir.path}/${NameMappings.layerName(1)}/module_1_1/build.gradle.kts")
Expand Down Expand Up @@ -110,7 +113,8 @@ class BuildFilesGeneratorAndroidTest {
true,
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator.generator.buildfiles

import io.github.cdsap.projectgenerator.DefaultTestVersions.Companion.LATEST_GRADLE
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.ProjectNameMaps
import io.github.cdsap.projectgenerator.writer.ProjectWriter
import io.github.cdsap.projectgenerator.model.Gradle
import io.github.cdsap.projectgenerator.model.LanguageAttributes
Expand Down Expand Up @@ -42,7 +43,8 @@ class BuildFilesGeneratorJvmTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val buildFile = File("${tempDir.path}/${NameMappings.layerName(1)}/module_1_1/build.gradle.kts")
Expand Down Expand Up @@ -74,7 +76,8 @@ class BuildFilesGeneratorJvmTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val buildFile = File("${tempDir.path}/${NameMappings.layerName(1)}/module_1_1/build.gradle.kts")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator.generator.test

import io.github.cdsap.projectgenerator.DefaultTestVersions.Companion.LATEST_GRADLE
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.ProjectNameMaps
import io.github.cdsap.projectgenerator.generator.classes.GenerateDictionaryAndroid
import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.writer.GradleWrapper
Expand Down Expand Up @@ -34,7 +35,8 @@ class TestGeneratorAndroidTest {
true, // generateUnitTest
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val testFile = File(tempDir, "${NameMappings.layerName(1)}/module_1_1/src/test/kotlin/com/awesomeapp/module_1_1/Viewmodel1_1Test.kt")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator.generator.test

import io.github.cdsap.projectgenerator.DefaultTestVersions.Companion.LATEST_GRADLE
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.ProjectNameMaps
import io.github.cdsap.projectgenerator.writer.ProjectWriter
import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.writer.GradleWrapper
Expand Down Expand Up @@ -32,7 +33,8 @@ class TestGeneratorJvmTest {
true, // generateUnitTest
GradleWrapper(LATEST_GRADLE),
false,
""
"",
ProjectNameMaps(emptyMap(), emptyMap())
)
projectWriter.write()
val testFile = File(tempDir, "${NameMappings.layerName(1)}/module_1_1/src/test/kotlin/com/awesomeapp/module_1_1/Usecase1_1Test.kt")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class ProjectWriterTest {
@TempDir
lateinit var tempDir: Path

private val emptyNameMaps = ProjectNameMaps(emptyMap(), emptyMap())

@Test
fun testWriteProject() {
val nodes = listOf(
Expand All @@ -42,7 +44,8 @@ class ProjectWriterTest {
false,
GradleWrapper(OLDEST_SUPPORTED_GRADLE),
true,
"awesomeapp"
"awesomeapp",
emptyNameMaps
)

projectWriter.write()
Expand Down Expand Up @@ -85,7 +88,8 @@ class ProjectWriterTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
"manual_room_none"
"manual_room_none",
emptyNameMaps
)

projectWriter.write()
Expand Down Expand Up @@ -116,7 +120,8 @@ class ProjectWriterTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
"kmp_android_lib_alias"
"kmp_android_lib_alias",
emptyNameMaps
)

projectWriter.write()
Expand All @@ -141,7 +146,8 @@ class ProjectWriterTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
"hilt_lean_graph"
"hilt_lean_graph",
emptyNameMaps
)

projectWriter.write()
Expand All @@ -155,10 +161,13 @@ class ProjectWriterTest {

@Test
fun `limits hilt android entry points to app launcher activity`() {
val nameMaps = ProjectNameMaps(
layerNames = mapOf(1 to "layer_1", 2 to "app"),
moduleNames = mapOf("module_1_1" to "sample-lib", "module_2_1" to "app")
)
val previousLayerNames = NameMappings.layerNames
val previousModuleNames = NameMappings.moduleNames
NameMappings.layerNames = mapOf(1 to "layer_1", 2 to "app")
NameMappings.moduleNames = mapOf("module_1_1" to "sample-lib", "module_2_1" to "app")
NameMappings.configure(nameMaps)
try {
val nodes = listOf(
ProjectGraph("module_1_1", 1, emptyList(), TypeProject.ANDROID_LIB, 12),
Expand All @@ -175,7 +184,8 @@ class ProjectWriterTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
"hilt_entrypoints"
"hilt_entrypoints",
nameMaps
)

projectWriter.write()
Expand All @@ -198,6 +208,37 @@ class ProjectWriterTest {
}
}

@Test
fun `writes settings includes from ProjectNameMaps`() {
val nodes = listOf(
ProjectGraph("module_1_1", 1, emptyList(), TypeProject.ANDROID_LIB, 10),
ProjectGraph("module_2_1", 2, emptyList(), TypeProject.ANDROID_APP, 10)
)
val nameMaps = ProjectNameMaps(
layerNames = mapOf(1 to "layer_1", 2 to "app"),
moduleNames = mapOf("module_1_1" to "sample-lib", "module_2_1" to "app")
)
val language = LanguageAttributes("gradle.kts", "${tempDir}/project_settings_maps")
val projectWriter = ProjectWriter(
nodes,
listOf(language),
Versions(),
TypeProjectRequested.ANDROID,
TypeOfStringResources.NORMAL,
false,
GradleWrapper(LATEST_GRADLE),
false,
"settings_maps",
nameMaps
)

projectWriter.write()

val settingsContent = File("${language.projectName}/settings.gradle.kts").readText()
assertTrue(settingsContent.contains("include (\":layer_1:sample-lib\")"))
assertTrue(settingsContent.contains("include (\":app:app\")"))
}

@Test
fun `does not include settings or build plugins when additionalSettingsPlugins and additionalBuildGradleRootPlugins are empty`() {
val nodes = listOf(
Expand All @@ -217,7 +258,8 @@ class ProjectWriterTest {
false,
GradleWrapper(LATEST_GRADLE),
false,
"no_plugins_project"
"no_plugins_project",
emptyNameMaps
)

projectWriter.write()
Expand Down Expand Up @@ -253,7 +295,8 @@ class ProjectWriterTest {
true,
GradleWrapper(LATEST_GRADLE),
false,
"kmp_android_main_layout"
"kmp_android_main_layout",
emptyNameMaps
)

projectWriter.write()
Expand Down
Loading