Skip to content

Commit

Permalink
tags
Browse files Browse the repository at this point in the history
  • Loading branch information
kotlitecture committed Jul 4, 2024
1 parent 88b48b6 commit bf252e6
Show file tree
Hide file tree
Showing 23 changed files with 100 additions and 4 deletions.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
kotli = "0.4.7"
kotli = "0.5.1"
kotlin = "1.9.23"
kotlinxCoroutines = "1.8.0"
logback = "1.5.6"
Expand Down
2 changes: 1 addition & 1 deletion processor/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apply from: "${project.rootDir}/gradle/kotlin/processor.gradle"

group = 'com.kotlitecture.kotli'
version = '0.5.0'
version = '0.5.1'
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package kotli.template.multiplatform.compose

import kotli.engine.model.FeatureTags

object Tags {

val All = listOf(
FeatureTags.Android,
FeatureTags.IOS,
FeatureTags.Web,
FeatureTags.Desktop,
FeatureTags.Server,
)

val AllClients = listOf(
FeatureTags.Android,
FeatureTags.IOS,
FeatureTags.Web,
FeatureTags.Desktop,
)

val Mobile = listOf(
FeatureTags.Android,
FeatureTags.IOS
)

val MobileAndDesktop = listOf(
FeatureTags.Android,
FeatureTags.IOS,
FeatureTags.Desktop,
)

val WebAndDesktop = listOf(
FeatureTags.Desktop,
)

}
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package kotli.template.multiplatform.compose.dataflow.analytics.facade

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.minutes

object FacadeAnalyticsProcessor : BaseFeatureProcessor() {

const val ID = "dataflow.analytics.facade"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 30.minutes.inWholeMilliseconds

override fun doRemove(state: TemplateState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package kotli.template.multiplatform.compose.dataflow.cache.basic

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.CleanupMarkedLine
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.common.CommonStatelyProcessor
import kotli.template.multiplatform.compose.showcases.datasource.cache.CacheShowcasesProcessor
import kotlin.time.Duration.Companion.hours
Expand All @@ -17,6 +19,7 @@ object BasicCacheProcessor : BaseFeatureProcessor() {
const val ID = "dataflow.cache.basic"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 8.hours.inWholeMilliseconds
override fun dependencies(): List<Class<out FeatureProcessor>> = listOf(
CacheShowcasesProcessor::class.java,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package kotli.template.multiplatform.compose.dataflow.config.facade

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.minutes

object FacadeConfigProcessor : BaseFeatureProcessor() {

const val ID = "dataflow.config.facade"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 30.minutes.inWholeMilliseconds

override fun doRemove(state: TemplateState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package kotli.template.multiplatform.compose.dataflow.database.sqldelight

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.CleanupMarkedBlock
Expand All @@ -11,6 +12,7 @@ import kotli.engine.template.rule.RemoveMarkedBlock
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.engine.template.rule.RenamePackage
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.common.CommonStatelyProcessor
import kotli.template.multiplatform.compose.dataflow.paging.cashapp.CashAppPagingProcessor
import kotlin.time.Duration.Companion.hours
Expand All @@ -20,6 +22,7 @@ object SqlDelightProcessor : BaseFeatureProcessor() {
const val ID = "dataflow.database.sqldelight"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://cashapp.github.io/sqldelight/"
override fun getIntegrationUrl(state: TemplateState): String = "https://cashapp.github.io/sqldelight/2.0.2/multiplatform_sqlite/"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package kotli.template.multiplatform.compose.dataflow.http.ktor

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.common.CommonKtorProcessor
import kotlin.time.Duration.Companion.hours

Expand All @@ -15,6 +17,7 @@ object KtorHttpProcessor : BaseFeatureProcessor() {
const val ID = "dataflow.http.ktor"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://ktor.io"
override fun getIntegrationUrl(state: TemplateState): String = "https://ktor.io/docs/client-create-new-application.html"
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package kotli.template.multiplatform.compose.dataflow.keyvalue.settings

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.CleanupMarkedLine
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.dataflow.keyvalue.common.CommonKeyValueProcessor
import kotlin.time.Duration.Companion.minutes

Expand All @@ -16,6 +18,7 @@ object SettingsKeyValueProcessor : BaseFeatureProcessor() {
const val ID = "dataflow.keyvalue.settings"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://github.com/russhwolf/multiplatform-settings"
override fun getIntegrationUrl(state: TemplateState): String = "https://github.com/russhwolf/multiplatform-settings?tab=readme-ov-file#no-arg-module"
override fun getIntegrationEstimate(state: TemplateState): Long = 30.minutes.inWholeMilliseconds
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
package kotli.template.multiplatform.compose.dataflow.paging.cashapp

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.minutes

object CashAppPagingProcessor : BaseFeatureProcessor() {

const val ID = "dataflow.paging.jetpack"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://github.com/cashapp/multiplatform-paging"
override fun getIntegrationUrl(state: TemplateState): String = "https://github.com/cashapp/multiplatform-paging?tab=readme-ov-file#usage"
override fun getIntegrationEstimate(state: TemplateState): Long = 30.minutes.inWholeMilliseconds
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import kotlin.time.Duration.Companion.hours

object KoinProcessor : BaseFeatureProcessor() {

const val ID = "essentials.di.koin"
const val ID = "essentials.di.koin"

override fun getId(): String = ID
override fun getWebUrl(state: TemplateState): String = "https://insert-koin.io"
override fun getIntegrationUrl(state: TemplateState): String = "https://insert-koin.io/docs/reference/koin-mp/kmp"
override fun getIntegrationUrl(state: TemplateState): String =
"https://insert-koin.io/docs/reference/koin-mp/kmp"

override fun getIntegrationEstimate(state: TemplateState): Long = 1.hours.inWholeMilliseconds

}
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package kotli.template.multiplatform.compose.testing.logging.kermit

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.minutes

object KermitProcessor : BaseFeatureProcessor() {

const val ID = "testing.logging.kermit"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://kermit.touchlab.co"
override fun getIntegrationUrl(state: TemplateState): String = "https://kermit.touchlab.co/docs/#getting-started"
override fun getIntegrationEstimate(state: TemplateState): Long = 15.minutes.inWholeMilliseconds
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package kotli.template.multiplatform.compose.testing.logging.napier

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.VersionCatalogRules
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.minutes

object NapierProcessor : BaseFeatureProcessor() {

const val ID = "testing.logging.napier"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getWebUrl(state: TemplateState): String = "https://github.com/AAkira/Napier"
override fun getIntegrationUrl(state: TemplateState): String = "https://github.com/AAkira/Napier?tab=readme-ov-file#common"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ package kotli.template.multiplatform.compose.userflow.loader.data

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.dataflow.config.facade.FacadeConfigProcessor
import kotli.template.multiplatform.compose.showcases.feature.loader.data.DataLoaderShowcasesProcessor
import kotlin.time.Duration.Companion.hours
Expand All @@ -15,6 +17,7 @@ object DataLoaderProcessor : BaseFeatureProcessor() {
const val ID = "userflow.loader.data"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 1.hours.inWholeMilliseconds

override fun dependencies(): List<Class<out FeatureProcessor>> = listOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package kotli.template.multiplatform.compose.userflow.navigation.adaptive

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.engine.template.rule.ReplaceMarkedText
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.userflow.navigation.NavigationBarProcessor
import kotli.template.multiplatform.compose.userflow.navigation.bottom.BottomNavigationProcessor
import kotli.template.multiplatform.compose.userflow.navigation.dismissible.DismissibleNavigationProcessor
Expand All @@ -20,6 +22,7 @@ object AdaptiveNavigationProcessor : BaseFeatureProcessor() {
const val ID = "userflow.navigation.adaptive"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds

override fun dependencies(): List<Class<out FeatureProcessor>> = listOf(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package kotli.template.multiplatform.compose.userflow.navigation.bottom

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.RemoveMarkedLine
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotlin.time.Duration.Companion.hours

object BottomNavigationProcessor : BaseFeatureProcessor() {

const val ID = "userflow.navigation.bottom"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds

override fun doRemove(state: TemplateState) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package kotli.template.multiplatform.compose.userflow.navigation.dismissible

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.ReplaceMarkedText
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.userflow.navigation.adaptive.AdaptiveNavigationProcessor
import kotlin.time.Duration.Companion.hours

Expand All @@ -13,6 +15,7 @@ object DismissibleNavigationProcessor : BaseFeatureProcessor() {
const val ID = "userflow.navigation.dismissible"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds

override fun doApply(state: TemplateState) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package kotli.template.multiplatform.compose.userflow.navigation.modal

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.ReplaceMarkedText
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.userflow.navigation.adaptive.AdaptiveNavigationProcessor
import kotlin.time.Duration.Companion.hours

Expand All @@ -13,6 +15,7 @@ object ModalNavigationProcessor : BaseFeatureProcessor() {
const val ID = "userflow.navigation.modal"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds

override fun doApply(state: TemplateState) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package kotli.template.multiplatform.compose.userflow.navigation.permanent

import kotli.engine.BaseFeatureProcessor
import kotli.engine.FeatureTag
import kotli.engine.TemplateState
import kotli.engine.template.rule.RemoveFile
import kotli.engine.template.rule.ReplaceMarkedText
import kotli.template.multiplatform.compose.Rules
import kotli.template.multiplatform.compose.Tags
import kotli.template.multiplatform.compose.userflow.navigation.adaptive.AdaptiveNavigationProcessor
import kotlin.time.Duration.Companion.hours

Expand All @@ -13,6 +15,7 @@ object PermanentNavigationProcessor : BaseFeatureProcessor() {
const val ID = "userflow.navigation.permanent"

override fun getId(): String = ID
override fun getTags(): List<FeatureTag> = Tags.AllClients
override fun getIntegrationEstimate(state: TemplateState): Long = 2.hours.inWholeMilliseconds

override fun doApply(state: TemplateState) {
Expand Down
Loading

0 comments on commit bf252e6

Please sign in to comment.