Skip to content

Commit b9d6782

Browse files
committed
simplify app structure
simplify app structure
1 parent 686fa71 commit b9d6782

File tree

289 files changed

+1076
-1213
lines changed

Some content is hidden

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

289 files changed

+1076
-1213
lines changed

processor/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
apply from: "${project.rootDir}/gradle/kotlin/processor.gradle"
22

33
group = 'com.kotlitecture.kotli'
4-
version = '0.13.0'
4+
version = '0.14.0'

processor/src/main/kotlin/kotli/template/multiplatform/compose/MultiplatformComposeTemplateProcessor.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import kotli.template.multiplatform.compose.dataflow.encryption.EncryptionProvid
2020
import kotli.template.multiplatform.compose.dataflow.expression.ExpressionProvider
2121
import kotli.template.multiplatform.compose.dataflow.http.HttpProvider
2222
import kotli.template.multiplatform.compose.dataflow.settings.SettingsProvider
23-
import kotli.template.multiplatform.compose.dataflow.settings.basic.BasicSettingsProcessor
23+
import kotli.template.multiplatform.compose.dataflow.settings.multiplatform.MultiplatformSettingsProcessor
2424
import kotli.template.multiplatform.compose.dataflow.paging.PagingProvider
2525
import kotli.template.multiplatform.compose.essentials.buildtool.BuildToolProvider
2626
import kotli.template.multiplatform.compose.essentials.design.DesignSystemProvider
@@ -58,7 +58,7 @@ object MultiplatformComposeTemplateProcessor : BaseTemplateProcessor() {
5858
features = listOf(
5959
Feature(IOSPlatformProcessor.ID),
6060
Feature(AndroidPlatformProcessor.ID),
61-
Feature(BasicSettingsProcessor.ID),
61+
Feature(MultiplatformSettingsProcessor.ID),
6262
Feature(DataLoaderProcessor.ID),
6363
Feature(SaveThemeProcessor.ID),
6464
Feature(ChangeThemeProcessor.ID),

processor/src/main/kotlin/kotli/template/multiplatform/compose/Rules.kt

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -32,47 +32,42 @@ object Rules {
3232
const val AppBuildGradle = "${App}/build.gradle.kts"
3333
const val AppCommonMain = "${AppSrc}/commonMain"
3434
const val AppCommonMainRoot = "${AppCommonMain}/kotlin/kotli/app"
35+
const val AppKt = "${AppCommonMainRoot}/app/App.kt"
36+
const val AppConfigKt = "${AppCommonMainRoot}/app/AppConfig.kt"
37+
const val AppViewModelKt = "${AppCommonMainRoot}/app/AppViewModel.kt"
38+
39+
// app -> common
3540
const val AppCommon = "${AppCommonMainRoot}/common"
36-
const val AppFeature = "${AppCommonMainRoot}/feature"
37-
const val AppKt = "${AppCommonMainRoot}/App.kt"
38-
const val AppConfigKt = "${AppCommonMainRoot}/AppConfig.kt"
39-
const val AppViewModelKt = "${AppCommonMainRoot}/AppViewModel.kt"
4041
const val AppCommonPresentation = "${AppCommon}/presentation"
4142
const val AppCommonConfigKt = "${AppCommon}/CommonConfig.kt"
42-
const val AppConfigureKoinKt = "*/configureKoin.kt"
43-
44-
// app -> di
45-
const val AppDI = "${AppCommonMainRoot}/di"
46-
const val AppDiKt = "${AppDI}/DI.kt"
4743

4844
// app -> misc
4945
const val AppProguardRulesPro = "${App}/assemble/proguard-rules.pro"
5046
const val AppWebPackConfigDir = "app/webpack.config.d"
5147
const val AppSqlDelightConfigJs = "${AppWebPackConfigDir}/sqljs-config.js"
48+
const val AppPlatformConfigKt = "*/PlatformConfig.*.kt"
5249

5350
// app -> common -> presentation -> loader
5451
const val AppCommonLoader = "${AppCommonPresentation}/loader"
5552

5653
// app -> common -> presentation -> navigation
5754
const val AppCommonNavigation = "${AppCommonPresentation}/navigation"
5855

59-
// app -> feature -> passcode
60-
const val AppPasscode = "${AppFeature}/passcode"
61-
const val AppDIPasscodeModuleKt = "${AppDI}/feature/PasscodeModule.kt"
56+
// app -> passcode
57+
const val AppPasscode = "${AppCommonMainRoot}/passcode"
6258

63-
// app -> feature -> theme
64-
const val AppTheme = "${AppFeature}/theme"
59+
// app -> theme
60+
const val AppTheme = "${AppCommonMainRoot}/theme"
6561
const val AppThemeConfigKt = "${AppTheme}/ThemeConfig.kt"
66-
const val AppDIThemeModuleKt = "${AppDI}/feature/ThemeModule.kt"
6762

68-
// app -> feature -> navigation
69-
const val AppNavigation = "${AppFeature}/navigation"
63+
// app -> navigation
64+
const val AppNavigation = "${AppCommonMainRoot}/navigation"
7065
const val AppNavigationProvider = "${AppNavigation}/provide/presentation/NavigationProvider.kt"
7166
const val AppBottomNavigationProvider = "${AppNavigation}/provide/presentation/BottomNavigationProvider.kt"
7267
const val AppNavigationViewModel = "${AppNavigation}/provide/presentation/NavigationViewModel.kt"
7368

74-
// app -> feature -> showcases
75-
const val AppShowcases = "${AppFeature}/showcases"
69+
// app -> showcases
70+
const val AppShowcases = "${AppCommonMainRoot}/showcases"
7671
const val AppShowcasesDataflow = "${AppShowcases}/presentation/dataflow"
7772
const val AppShowcasesUserflow = "${AppShowcases}/presentation/userflow"
7873
const val AppShowcasesViewModelKt = "${AppShowcases}/presentation/ShowcasesViewModel.kt"
@@ -101,19 +96,18 @@ object Rules {
10196
const val RoomDir = "*/database/room/*"
10297

10398
// dataflow -> config
104-
const val ConfigSource = "*/*ConfigSource*.kt"
105-
const val AppConfigSource = "${AppCommon}/data/source/config/AppConfigSource.kt"
99+
const val ConfigSource = "*/*ConfigSource.kt"
106100

107101
// dataflow -> paging
108102
const val PagingSource = "*/*Paging*.kt"
109103

110104
// dataflow -> http
111-
const val HttpSource = "*/*HttpSource*.kt"
105+
const val HttpSource = "*/*HttpSource.kt"
112106

113107
// dataflow -> settings
114-
const val SettingsSource = "*/*SettingsSource*.kt"
115-
const val BasicSettingsSource = "*/*BasicSettingsSource*.kt"
116-
const val DataStoreSource = "*/*DataStoreSource.kt"
108+
const val SettingsSource = "*/*SettingsSource.kt"
109+
const val DataStoreSource = "*/DataStoreSource.kt"
110+
const val MultiplatformSettingsSource = "*/MultiplatformSettingsSource.kt"
117111

118112
// dataflow -> encryption
119113
const val EncryptionSource = "*/*EncryptionSource*.kt"

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/ai/gemini/GeminiProcessor.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ object GeminiProcessor : BaseFeatureProcessor() {
1919
override fun getId(): String = ID
2020
override fun getTags(): List<FeatureTag> = Tags.AllClients
2121
override fun getWebUrl(state: TemplateState): String = "https://github.com/PatilShreyas/generative-ai-kmp"
22-
override fun getIntegrationUrl(state: TemplateState): String = "https://github.com/PatilShreyas/generative-ai-kmp?tab=readme-ov-file#installation-and-usage"
22+
override fun getIntegrationUrl(state: TemplateState): String =
23+
"https://github.com/PatilShreyas/generative-ai-kmp?tab=readme-ov-file#installation-and-usage"
24+
2325
override fun getIntegrationEstimate(state: TemplateState): Long = 1.hours.inWholeMilliseconds
2426

2527
override fun dependencies(): List<Class<out FeatureProcessor>> = listOf(
@@ -32,7 +34,7 @@ object GeminiProcessor : BaseFeatureProcessor() {
3234
RemoveFile()
3335
)
3436
state.onApplyRules(
35-
Rules.AppBuildGradle,
37+
Rules.BuildGradleSharedData,
3638
RemoveMarkedLine("generativeai")
3739
)
3840
state.onApplyRules(
@@ -41,8 +43,8 @@ object GeminiProcessor : BaseFeatureProcessor() {
4143
)
4244
)
4345
state.onApplyRules(
44-
Rules.AppDiKt,
45-
RemoveMarkedLine("aiSource")
46+
Rules.AppCommonConfigKt,
47+
RemoveMarkedLine("ai")
4648
)
4749
}
4850

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/analytics/AnalyticsProvider.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package kotli.template.multiplatform.compose.dataflow.analytics
22

33
import kotli.engine.FeatureProcessor
44
import kotli.template.multiplatform.compose.dataflow.BaseDataFlowProvider
5-
import kotli.template.multiplatform.compose.dataflow.analytics.facade.FacadeAnalyticsProcessor
5+
import kotli.template.multiplatform.compose.dataflow.analytics.basic.BasicAnalyticsProcessor
66

77
object AnalyticsProvider : BaseDataFlowProvider() {
88

99
override fun getId(): String = "dataflow.analytics"
1010
override fun isMultiple(): Boolean = true
1111
override fun createProcessors(): List<FeatureProcessor> = listOf(
12-
FacadeAnalyticsProcessor
12+
BasicAnalyticsProcessor
1313
)
1414

1515
}

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/analytics/facade/FacadeAnalyticsProcessor.kt renamed to processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/analytics/basic/BasicAnalyticsProcessor.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package kotli.template.multiplatform.compose.dataflow.analytics.facade
1+
package kotli.template.multiplatform.compose.dataflow.analytics.basic
22

33
import kotli.engine.BaseFeatureProcessor
44
import kotli.engine.FeatureTag
@@ -9,9 +9,9 @@ import kotli.template.multiplatform.compose.Rules
99
import kotli.template.multiplatform.compose.Tags
1010
import kotlin.time.Duration.Companion.minutes
1111

12-
object FacadeAnalyticsProcessor : BaseFeatureProcessor() {
12+
object BasicAnalyticsProcessor : BaseFeatureProcessor() {
1313

14-
const val ID = "dataflow.analytics.facade"
14+
const val ID = "dataflow.analytics.basic"
1515

1616
override fun getId(): String = ID
1717
override fun getTags(): List<FeatureTag> = Tags.AllClients
@@ -23,7 +23,7 @@ object FacadeAnalyticsProcessor : BaseFeatureProcessor() {
2323
RemoveFile()
2424
)
2525
state.onApplyRules(
26-
Rules.AppDiKt,
26+
Rules.AppCommonConfigKt,
2727
RemoveMarkedLine("AnalyticsSource")
2828
)
2929
}

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/cache/basic/BasicCacheProcessor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ object BasicCacheProcessor : BaseFeatureProcessor() {
4242
RemoveFile()
4343
)
4444
state.onApplyRules(
45-
Rules.AppDiKt,
45+
Rules.AppCommonConfigKt,
4646
RemoveMarkedLine("CacheSource")
4747
)
4848
state.onApplyRules(

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/config/ConfigProvider.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package kotli.template.multiplatform.compose.dataflow.config
22

33
import kotli.engine.FeatureProcessor
44
import kotli.template.multiplatform.compose.dataflow.BaseDataFlowProvider
5-
import kotli.template.multiplatform.compose.dataflow.config.facade.FacadeConfigProcessor
5+
import kotli.template.multiplatform.compose.dataflow.config.basic.BasicConfigProcessor
66

77
object ConfigProvider : BaseDataFlowProvider() {
88

99
override fun getId(): String = "dataflow.config"
1010
override fun isMultiple(): Boolean = true
1111
override fun createProcessors(): List<FeatureProcessor> = listOf(
12-
FacadeConfigProcessor
12+
BasicConfigProcessor
1313
)
1414

1515
}

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/config/facade/FacadeConfigProcessor.kt renamed to processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/config/basic/BasicConfigProcessor.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package kotli.template.multiplatform.compose.dataflow.config.facade
1+
package kotli.template.multiplatform.compose.dataflow.config.basic
22

33
import kotli.engine.BaseFeatureProcessor
44
import kotli.engine.FeatureTag
@@ -9,9 +9,9 @@ import kotli.template.multiplatform.compose.Rules
99
import kotli.template.multiplatform.compose.Tags
1010
import kotlin.time.Duration.Companion.minutes
1111

12-
object FacadeConfigProcessor : BaseFeatureProcessor() {
12+
object BasicConfigProcessor : BaseFeatureProcessor() {
1313

14-
const val ID = "dataflow.config.facade"
14+
const val ID = "dataflow.config.basic"
1515

1616
override fun getId(): String = ID
1717
override fun getTags(): List<FeatureTag> = Tags.AllClients
@@ -23,7 +23,7 @@ object FacadeConfigProcessor : BaseFeatureProcessor() {
2323
RemoveFile()
2424
)
2525
state.onApplyRules(
26-
Rules.AppDiKt,
26+
Rules.AppCommonConfigKt,
2727
RemoveMarkedLine("ConfigSource")
2828
)
2929
}

processor/src/main/kotlin/kotli/template/multiplatform/compose/dataflow/database/room/RoomProcessor.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ object RoomProcessor : BaseFeatureProcessor() {
5555
CleanupMarkedBlock("{dataflow.database.room.config}"),
5656
CleanupMarkedLine("{dataflow.database.room}")
5757
)
58+
state.onApplyRules(
59+
Rules.AppPlatformConfigKt,
60+
CleanupMarkedBlock("{dataflow.database.room}")
61+
)
5862
}
5963

6064
override fun doRemove(state: TemplateState) {
@@ -81,12 +85,13 @@ object RoomProcessor : BaseFeatureProcessor() {
8185
RemoveFile()
8286
)
8387
state.onApplyRules(
84-
Rules.AppDiKt,
88+
Rules.AppCommonConfigKt,
8589
RemoveMarkedLine("RoomSource")
8690
)
8791
state.onApplyRules(
88-
Rules.AppConfigureKoinKt,
89-
RemoveMarkedLine("RoomSource")
92+
Rules.AppPlatformConfigKt,
93+
RemoveMarkedLine("RoomSource"),
94+
RemoveMarkedBlock("{dataflow.database.room}")
9095
)
9196
}
9297

0 commit comments

Comments
 (0)