Skip to content

Commit 5ebe684

Browse files
authored
Bumped all dependencies to latest. Reformatted code. (#33)
1 parent 9dd59b2 commit 5ebe684

File tree

51 files changed

+356
-255
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+356
-255
lines changed

cli/man.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ tasks.register("generateManPage", GenerateManPage::class.java) {
6868

6969
abstract class InstallManPage
7070
@Inject
71-
constructor() :
72-
DefaultTask() {
71+
constructor() : DefaultTask() {
7372
@get:Inject
7473
protected abstract val layout: ProjectLayout
7574

cli/src/main/kotlin/com/mitteloupe/cag/cli/AppArgumentProcessor.kt

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ private val PRIMARY_FLAGS =
2929
HelpPrimary
3030
)
3131

32-
class AppArgumentProcessor(private val argumentParser: ArgumentParser = ArgumentParser()) {
32+
class AppArgumentProcessor(
33+
private val argumentParser: ArgumentParser = ArgumentParser()
34+
) {
3335
fun isHelpRequested(arguments: Array<String>): Boolean = argumentParser.parsePrimaryWithSecondaries(arguments, HelpPrimary).isNotEmpty()
3436

3537
fun getHelpOptions(arguments: Array<String>): HelpOptions? {
@@ -120,17 +122,16 @@ class AppArgumentProcessor(private val argumentParser: ArgumentParser = Argument
120122
}
121123

122124
fun getNewArchitecture(arguments: Array<String>): List<ArchitectureRequest> =
123-
argumentParser.parsePrimaryWithSecondaries(
124-
arguments = arguments,
125-
primaryFlag = NewArchitecturePrimary
126-
).map { secondaries ->
127-
ArchitectureRequest(
128-
enableCompose = !secondaries.containsKey(SecondaryFlagConstants.NO_COMPOSE),
129-
enableKtlint = secondaries.containsKey(SecondaryFlagConstants.KTLINT),
130-
enableDetekt = secondaries.containsKey(SecondaryFlagConstants.DETEKT),
131-
enableGit = secondaries.containsKey(SecondaryFlagConstants.GIT)
132-
)
133-
}
125+
argumentParser
126+
.parsePrimaryWithSecondaries(arguments = arguments, primaryFlag = NewArchitecturePrimary)
127+
.map { secondaries ->
128+
ArchitectureRequest(
129+
enableCompose = !secondaries.containsKey(SecondaryFlagConstants.NO_COMPOSE),
130+
enableKtlint = secondaries.containsKey(SecondaryFlagConstants.KTLINT),
131+
enableDetekt = secondaries.containsKey(SecondaryFlagConstants.DETEKT),
132+
enableGit = secondaries.containsKey(SecondaryFlagConstants.GIT)
133+
)
134+
}
134135

135136
fun getNewProjectTemplate(arguments: Array<String>): List<ProjectTemplateRequest> =
136137
parseWithNameFlag(
@@ -153,12 +154,11 @@ class AppArgumentProcessor(private val argumentParser: ArgumentParser = Argument
153154
arguments: Array<String>,
154155
primaryFlag: PrimaryFlag,
155156
transform: (Map<String, String>) -> T
156-
): List<T> {
157-
return argumentParser.parsePrimaryWithSecondaries(
158-
arguments = arguments,
159-
primaryFlag = primaryFlag
160-
).map(transform).filter { isValidRequest(it) }
161-
}
157+
): List<T> =
158+
argumentParser
159+
.parsePrimaryWithSecondaries(arguments = arguments, primaryFlag = primaryFlag)
160+
.map(transform)
161+
.filter(::isValidRequest)
162162

163163
private fun <T> isValidRequest(request: T): Boolean =
164164
when (request) {
@@ -169,7 +169,8 @@ class AppArgumentProcessor(private val argumentParser: ArgumentParser = Argument
169169
}
170170

171171
private fun parseLibraries(withValue: String?): Set<String> =
172-
(withValue.orEmpty()).lowercase()
172+
(withValue.orEmpty())
173+
.lowercase()
173174
.split(",")
174175
.map { it.trim() }
175176
.filter { it.isNotEmpty() }
@@ -255,5 +256,8 @@ class AppArgumentProcessor(private val argumentParser: ArgumentParser = Argument
255256

256257
private fun getAllPrimaryFlagStrings(): Set<String> = PRIMARY_FLAGS.flatMap { listOf(it.long, it.short) }.toSet()
257258

258-
data class HelpOptions(val topic: String?, val format: String?)
259+
data class HelpOptions(
260+
val topic: String?,
261+
val format: String?
262+
)
259263
}

cli/src/main/kotlin/com/mitteloupe/cag/cli/ArgumentParser.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,10 @@ private fun parseInlineArgument(
217217
if (isLongForm) {
218218
token.substringAfter("=").trim()
219219
} else {
220-
token.removePrefix(matchingKey).let {
221-
if (it.startsWith("=")) it.removePrefix("=") else it
222-
}.trim()
220+
token
221+
.removePrefix(matchingKey)
222+
.let { if (it.startsWith("=")) it.removePrefix("=") else it }
223+
.trim()
223224
}
224225

225226
return if (value.isNotEmpty()) {

cli/src/main/kotlin/com/mitteloupe/cag/cli/FilesystemProjectModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ class FilesystemProjectModel(
3232
result.add(directory)
3333
}
3434
if (!hasGradle || directory == root) {
35-
directory.listFiles()?.filter { it.isDirectory && !it.name.startsWith('.') && it.name != "build" }
35+
directory
36+
.listFiles()
37+
?.filter { it.isDirectory && !it.name.startsWith('.') && it.name != "build" }
3638
?.forEach(queue::add)
3739
}
3840
}

cli/src/main/kotlin/com/mitteloupe/cag/cli/Main.kt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,11 @@ fun main(arguments: Array<String>) {
205205
val targetDirectory = request.targetPath.toDirectory(destinationRootDirectory)
206206

207207
val useCaseRequest =
208-
GenerateUseCaseRequest.Builder(
209-
destinationDirectory = targetDirectory,
210-
useCaseName = request.useCaseName
211-
)
212-
.inputDataType(request.inputDataType)
208+
GenerateUseCaseRequest
209+
.Builder(
210+
destinationDirectory = targetDirectory,
211+
useCaseName = request.useCaseName
212+
).inputDataType(request.inputDataType)
213213
.outputDataType(request.outputDataType)
214214
.build()
215215

@@ -225,13 +225,14 @@ fun main(arguments: Array<String>) {
225225
val featurePackageName = basePackage ?: "com.example"
226226

227227
val viewModelRequest =
228-
GenerateViewModelRequest.Builder(
229-
destinationDirectory = targetDirectory,
230-
viewModelName = request.viewModelName,
231-
viewModelPackageName = "$featurePackageName.presentation.viewmodel",
232-
featurePackageName = featurePackageName,
233-
projectNamespace = projectNamespace
234-
).build()
228+
GenerateViewModelRequest
229+
.Builder(
230+
destinationDirectory = targetDirectory,
231+
viewModelName = request.viewModelName,
232+
viewModelPackageName = "$featurePackageName.presentation.viewmodel",
233+
featurePackageName = featurePackageName,
234+
projectNamespace = projectNamespace
235+
).build()
235236

236237
executeAndReport {
237238
setVersionProvider(configuration.existingProjectVersions)

cli/src/test/kotlin/com/mitteloupe/cag/cli/ArgumentParserTest.kt

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,8 @@ class ArgumentParserTest {
261261
fun `Given long primary with short secondaries when parsePrimaryWithSecondaries then throws informative exception`() {
262262
// Given
263263
val givenArguments = arrayOf("--alpha", "-b", "value")
264-
val expectedErrorMessage = "Cannot mix long form (--alpha) with short form secondary flags (-b). Use --beta instead."
264+
val expectedErrorMessage =
265+
"Cannot mix long form (--alpha) with short form secondary flags (-b). Use --beta instead."
265266

266267
// When
267268
try {
@@ -656,8 +657,18 @@ class ArgumentParserTest {
656657
short = "-a",
657658
secondaryFlags =
658659
listOf(
659-
SecondaryFlag("--beta", "-b", isMandatory = true, missingErrorMessage = "Beta required"),
660-
SecondaryFlag("--gamma", "-g", isMandatory = true, missingErrorMessage = "Gamma required")
660+
SecondaryFlag(
661+
"--beta",
662+
"-b",
663+
isMandatory = true,
664+
missingErrorMessage = "Beta required"
665+
),
666+
SecondaryFlag(
667+
"--gamma",
668+
"-g",
669+
isMandatory = true,
670+
missingErrorMessage = "Gamma required"
671+
)
661672
)
662673
)
663674
)
@@ -787,8 +798,15 @@ class ArgumentParserTest {
787798
// Given
788799
val givenArguments =
789800
arrayOf(
790-
"--alpha", "--beta=inline", "--gamma", "separate", "--delta",
791-
"--alpha", "--beta", "separate", "--gamma=inline"
801+
"--alpha",
802+
"--beta=inline",
803+
"--gamma",
804+
"separate",
805+
"--delta",
806+
"--alpha",
807+
"--beta",
808+
"separate",
809+
"--gamma=inline"
792810
)
793811
val expectedParsedArguments =
794812
listOf(
@@ -822,7 +840,8 @@ class ArgumentParserTest {
822840
fun `Given long primary with short secondary and missing mandatory name when parsePrimaryWithSecondaries then throws mixed form exception`() {
823841
// Given
824842
val givenArguments = arrayOf("--alpha", "-b", "value")
825-
val expectedErrorMessage = "Cannot mix long form (--alpha) with short form secondary flags (-b). Use --beta instead."
843+
val expectedErrorMessage =
844+
"Cannot mix long form (--alpha) with short form secondary flags (-b). Use --beta instead."
826845

827846
// When
828847
try {

core/src/main/kotlin/com/mitteloupe/cag/core/AppModuleDirectoryFinder.kt

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ private val versionCatalogEntryRegex =
1515
"""(?m)^\s*([A-Za-z0-9_.\-]+)\s*=\s*\{[^}]*?\bid\s*=\s*['"]([^'"]+)['"][^}]*}.*$""".toRegex()
1616
private const val PLUGINS_SECTION_MARKER = "[plugins]"
1717

18-
class AppModuleDirectoryFinder(private val directoryFinder: DirectoryFinder = DirectoryFinder()) {
18+
class AppModuleDirectoryFinder(
19+
private val directoryFinder: DirectoryFinder = DirectoryFinder()
20+
) {
1921
fun findAndroidAppModuleDirectories(projectRoot: File): List<File> {
2022
val moduleDirectories = findGradleModuleDirectories(projectRoot)
2123
return moduleDirectories.filter { moduleDirectory ->
@@ -55,10 +57,12 @@ class AppModuleDirectoryFinder(private val directoryFinder: DirectoryFinder = Di
5557
buildFileContents: String
5658
): Boolean {
5759
val aliasMatches =
58-
pluginsBlockRegex.findAll(buildFileContents).flatMap { blockMatch ->
59-
val block = blockMatch.groupValues[1]
60-
aliasPluginLineRegex.findAll(block)
61-
}.toList()
60+
pluginsBlockRegex
61+
.findAll(buildFileContents)
62+
.flatMap { blockMatch ->
63+
val block = blockMatch.groupValues[1]
64+
aliasPluginLineRegex.findAll(block)
65+
}.toList()
6266
if (aliasMatches.isEmpty()) {
6367
return false
6468
}
@@ -89,10 +93,11 @@ class AppModuleDirectoryFinder(private val directoryFinder: DirectoryFinder = Di
8993
}
9094

9195
private fun findNearestVersionCatalog(startDirectory: File): File? =
92-
directoryFinder.findDirectory(startDirectory) { currentDirectory ->
93-
val catalog = currentDirectory.versionCatalogFile()
94-
catalog.exists()
95-
}?.versionCatalogFile()
96+
directoryFinder
97+
.findDirectory(startDirectory) { currentDirectory ->
98+
val catalog = currentDirectory.versionCatalogFile()
99+
catalog.exists()
100+
}?.versionCatalogFile()
96101

97102
private fun extractPluginsSection(toml: String): String? {
98103
val startIndex = toml.indexOf(PLUGINS_SECTION_MARKER)
@@ -141,7 +146,9 @@ class AppModuleDirectoryFinder(private val directoryFinder: DirectoryFinder = Di
141146
result.add(directory)
142147
}
143148
if (!hasGradle || directory == root) {
144-
directory.listFiles()?.filter { it.isDirectory && !it.name.startsWith('.') && it.name != "build" }
149+
directory
150+
.listFiles()
151+
?.filter { it.isDirectory && !it.name.startsWith('.') && it.name != "build" }
145152
?.forEach(queue::add)
146153
}
147154
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
package com.mitteloupe.cag.core
22

3-
class GenerationException(message: String) : Exception(message)
3+
class GenerationException(
4+
message: String
5+
) : Exception(message)

core/src/main/kotlin/com/mitteloupe/cag/core/Generator.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,16 @@ class Generator(
111111
val layers = listOf("ui", "presentation", "domain", "data")
112112

113113
val allCreated =
114-
layers.map { layerName ->
115-
val layerSourceRoot = File(featureRoot, "$layerName/src/main/java")
116-
val destinationDirectory = buildPackageDirectory(layerSourceRoot, pathSegments)
117-
if (destinationDirectory.exists()) {
118-
destinationDirectory.isDirectory
119-
} else {
120-
destinationDirectory.mkdirs()
121-
}
122-
}.all { it }
114+
layers
115+
.map { layerName ->
116+
val layerSourceRoot = File(featureRoot, "$layerName/src/main/java")
117+
val destinationDirectory = buildPackageDirectory(layerSourceRoot, pathSegments)
118+
if (destinationDirectory.exists()) {
119+
destinationDirectory.isDirectory
120+
} else {
121+
destinationDirectory.mkdirs()
122+
}
123+
}.all { it }
123124

124125
if (allCreated) {
125126
gradleFileCreator.writeGradleFileIfMissing(

core/src/main/kotlin/com/mitteloupe/cag/core/NamespaceResolver.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import java.io.File
44

55
private val namespaceRegex = """(?s)android\s*\{[\n\r\s\S]*?namespace(?:\s*=\s*|\s+)['"]([^'"]+)['"]""".toRegex()
66

7-
class NamespaceResolver() {
7+
class NamespaceResolver {
88
fun determineBasePackage(projectModel: ProjectModel): String? {
99
val selectedModule = projectModel.selectedModuleRootDir()
1010
val namespace = readAndroidNamespace(selectedModule)
@@ -34,12 +34,17 @@ class NamespaceResolver() {
3434
}
3535
val projectRoot = findGradleProjectRoot(moduleDirectory) ?: moduleDirectory
3636
val isAppModule =
37-
AppModuleDirectoryFinder().findAndroidAppModuleDirectories(projectRoot)
37+
AppModuleDirectoryFinder()
38+
.findAndroidAppModuleDirectories(projectRoot)
3839
.any { it == moduleDirectory }
3940
if (!isAppModule) {
4041
return null
4142
}
4243

43-
return namespaceRegex.find(fileContents)?.groupValues?.get(1)?.trim()
44+
return namespaceRegex
45+
.find(fileContents)
46+
?.groupValues
47+
?.get(1)
48+
?.trim()
4449
}
4550
}

0 commit comments

Comments
 (0)