Skip to content

Commit d447633

Browse files
authored
Updated help around new feature DI. (#51)
1 parent eb480c3 commit d447633

File tree

5 files changed

+17
-19
lines changed

5 files changed

+17
-19
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,9 @@ object ManPagePrinter {
7676
"[${bold("--dependency-injection=hilt")}|${bold("koin")}|${bold("none")}]]... " +
7777
"[${bold("--new-feature")} [${bold("--name=") + italic("FeatureName")} " +
7878
"[${bold("--package=") + italic("PackageName")}] [${bold("--ktlint")}] " +
79-
"[${bold("--detekt")}] [${bold("--git")}]]... [${bold("--new-datasource")} " +
80-
"[${bold("--name=") + italic("DataSourceName")} " +
79+
"[${bold("--detekt")}] [${bold("--git")}] " +
80+
"[${bold("--dependency-injection=hilt")}|${bold("koin")}|${bold("none")}]]... " +
81+
"[${bold("--new-datasource")} [${bold("--name=") + italic("DataSourceName")} " +
8182
"[${bold("--with=ktor")}|${bold("retrofit")}|${bold("ktor,retrofit")}] " +
8283
"[${bold("--git")}]]... [${bold("--new-use-case")} " +
8384
"[${bold("--name=") + italic("UseCaseName")} [${bold("--path=") + italic("TargetPath")}] " +

cli/src/main/kotlin/com/mitteloupe/cag/cli/help/HelpContent.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ object HelpContent {
1616
private const val NEW_ARCHITECTURE_SYNTAX =
1717
"[--new-architecture [--no-compose] [--ktlint] [--detekt] [--git] [--dependency-injection=hilt|koin|none]]"
1818
private const val NEW_FEATURE_SYNTAX =
19-
"[--new-feature --name=FeatureName [--package=PackageName] [--ktlint] [--detekt] [--git]]"
19+
"[--new-feature --name=FeatureName [--package=PackageName] [--ktlint] [--detekt] [--git] [--dependency-injection=hilt|koin|none]]]"
2020
private const val NEW_DATASOURCE_SYNTAX =
2121
"[--new-datasource --name=DataSourceName [--with=ktor|retrofit|ktor,retrofit] [--git]]"
2222
private const val NEW_USE_CASE_SYNTAX = "[--new-use-case --name=UseCaseName [--path=TargetPath] [--git]]"
@@ -106,7 +106,9 @@ object HelpContent {
106106
--detekt | -d
107107
Enable detekt for the preceding feature (adds plugin and detekt.yml if missing)
108108
--git | -g
109-
Automatically stage changes to git repository""",
109+
Automatically stage changes to git repository
110+
--dependency-injection=hilt[default]|koin|none | -DI hilt[default]|koin|none
111+
Specify the dependency injection library""",
110112
examples =
111113
"""
112114
Examples:

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ private const val NEW_PROJECT_SYNTAX =
1919
"[--new-project --name=ProjectName --package=PackageName [--no-compose] [--ktlint] [--detekt] [--ktor] [--retrofit] [--git] [--dependency-injection=hilt|koin|none]]"
2020
private const val NEW_ARCHITECTURE_SYNTAX =
2121
"[--new-architecture [--no-compose] [--ktlint] [--detekt] [--git] [--dependency-injection=hilt|koin|none]]"
22-
private const val NEW_FEATURE_SYNTAX = "[--new-feature --name=FeatureName [--package=PackageName] [--ktlint] [--detekt] [--git]]"
22+
private const val NEW_FEATURE_SYNTAX =
23+
"[--new-feature --name=FeatureName [--package=PackageName] [--ktlint] [--detekt] [--git] [--dependency-injection=hilt|koin|none]]]"
2324
private const val NEW_DATASOURCE_SYNTAX = "[--new-datasource --name=DataSourceName [--with=ktor|retrofit|ktor,retrofit] [--git]]"
2425
private const val NEW_USE_CASE_SYNTAX = "[--new-use-case --name=UseCaseName [--path=TargetPath] [--git]]"
2526
private const val NEW_VIEW_MODEL_SYNTAX = "[--new-view-model --name=ViewModelName [--path=TargetPath] [--git]]"
@@ -160,6 +161,8 @@ Options:
160161
Enable detekt for the preceding feature (adds plugin and detekt.yml if missing)
161162
--git | -g
162163
Automatically stage changes to git repository
164+
--dependency-injection=hilt[default]|koin|none | -DI hilt[default]|koin|none
165+
Specify the dependency injection library
163166
--new-datasource | -nds
164167
Generate a new data source
165168
--name=DataSourceName | -n=DataSourceName | -n DataSourceName | -nDataSourceName

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private const val HEADER =
1616
cag - generate Clean Architecture Android code
1717
.SH SYNOPSIS
1818
.B cag
19-
[\fB--new-project\fR \fB--name=\fR\fIProjectName\fR \fB--package=\fR\fIPackageName\fR [\fB--no-compose\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--ktor\fR] [\fB--retrofit\fR] [\fB--git\fR] [\fB--dependency-injection=hilt\fR|\fBkoin\fR|\fBnone\fR]]... [\fB--new-architecture\fR [\fB--no-compose\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--git\fR] [\fB--dependency-injection=hilt\fR|\fBkoin\fR|\fBnone\fR]]... [\fB--new-feature\fR [\fB--name=\fR\fIFeatureName\fR [\fB--package=\fR\fIPackageName\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--git\fR]]... [\fB--new-datasource\fR [\fB--name=\fR\fIDataSourceName\fR [\fB--with=ktor\fR|\fBretrofit\fR|\fBktor,retrofit\fR] [\fB--git\fR]]... [\fB--new-use-case\fR [\fB--name=\fR\fIUseCaseName\fR [\fB--path=\fR\fITargetPath\fR] [\fB--git\fR]]... [\fB--new-view-model\fR [\fB--name=\fR\fIViewModelName\fR [\fB--path=\fR\fITargetPath\fR] [\fB--git\fR]]...
19+
[\fB--new-project\fR \fB--name=\fR\fIProjectName\fR \fB--package=\fR\fIPackageName\fR [\fB--no-compose\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--ktor\fR] [\fB--retrofit\fR] [\fB--git\fR] [\fB--dependency-injection=hilt\fR|\fBkoin\fR|\fBnone\fR]]... [\fB--new-architecture\fR [\fB--no-compose\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--git\fR] [\fB--dependency-injection=hilt\fR|\fBkoin\fR|\fBnone\fR]]... [\fB--new-feature\fR [\fB--name=\fR\fIFeatureName\fR [\fB--package=\fR\fIPackageName\fR] [\fB--ktlint\fR] [\fB--detekt\fR] [\fB--git\fR] [\fB--dependency-injection=hilt\fR|\fBkoin\fR|\fBnone\fR]]... [\fB--new-datasource\fR [\fB--name=\fR\fIDataSourceName\fR [\fB--with=ktor\fR|\fBretrofit\fR|\fBktor,retrofit\fR] [\fB--git\fR]]... [\fB--new-use-case\fR [\fB--name=\fR\fIUseCaseName\fR [\fB--path=\fR\fITargetPath\fR] [\fB--git\fR]]... [\fB--new-view-model\fR [\fB--name=\fR\fIViewModelName\fR [\fB--path=\fR\fITargetPath\fR] [\fB--git\fR]]...
2020
.SH DESCRIPTION
2121
.B cag
2222
generates Android Clean Architecture scaffolding and components.
@@ -85,6 +85,8 @@ private val FULL_HELP =
8585
Enable detekt for the preceding feature (adds plugin and detekt.yml if missing)
8686
--git | -g
8787
Automatically stage changes to git repository
88+
--dependency-injection=hilt[default]|koin|none | -DI hilt[default]|koin|none
89+
Specify the dependency injection library
8890
Examples:
8991
cag --new-feature --name=Profile
9092
cag --new-feature --name=Profile --package=com.example.feature.profile

cli/src/test/kotlin/com/mitteloupe/cag/cli/argument/AppArgumentProcessorTest.kt

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@ import org.junit.runners.Suite.SuiteClasses
1818

1919
@RunWith(Enclosed::class)
2020
@SuiteClasses(
21-
AppArgumentProcessorTest.Features::class,
2221
AppArgumentProcessorTest.Help::class,
23-
AppArgumentProcessorTest.NewFeature::class,
2422
AppArgumentProcessorTest.AppArgumentProcessorArchitectureTest::class,
2523
AppArgumentProcessorTest.AppArgumentProcessorDataSourcesTest::class,
24+
AppArgumentProcessorTest.AppArgumentProcessorFeatures::class,
25+
AppArgumentProcessorTest.AppArgumentProcessorProjectTemplateTest::class,
2626
AppArgumentProcessorTest.AppArgumentProcessorUseCasesTest::class,
2727
AppArgumentProcessorTest.AppArgumentProcessorViewModelsTest::class,
28-
AppArgumentProcessorTest.AppArgumentProcessorProjectTemplateTest::class,
2928
AppArgumentProcessorTest.UnknownFlagsValidation::class
3029
)
3130
class AppArgumentProcessorTest {
@@ -62,7 +61,7 @@ class AppArgumentProcessorTest {
6261
}
6362
}
6463

65-
class NewFeature {
64+
class AppArgumentProcessorFeatures {
6665
private lateinit var classUnderTest: AppArgumentProcessor
6766

6867
@Before
@@ -135,15 +134,6 @@ class AppArgumentProcessorTest {
135134
// Then
136135
assertEquals(expectedRequests, result)
137136
}
138-
}
139-
140-
class Features {
141-
private lateinit var classUnderTest: AppArgumentProcessor
142-
143-
@Before
144-
fun setUp() {
145-
classUnderTest = AppArgumentProcessor()
146-
}
147137

148138
@Test
149139
fun `Given features with optional packages when getNewFeatures then maps in order`() {

0 commit comments

Comments
 (0)