-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathlibs.versions.toml
More file actions
198 lines (176 loc) · 11.1 KB
/
libs.versions.toml
File metadata and controls
198 lines (176 loc) · 11.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
[versions]
agp = "8.9.0"
kotlin = "2.1.10"
ksp = "2.1.10-1.0.31" # Must be compatible with: `kotlin`
desugarLibs = "2.1.5"
androidxLifecycle = "2.8.6"
androidxComposeBom = "2024.10.00"
jetbrainsComposeRuntime = "1.7.0" # Needs to align with version in Compose BOM as closely as possible
androidxActivity = "1.9.2"
decompose = "3.1.0"
essenty = "2.1.0"
koin = "3.5.6"
koinAnnotations = "1.4.0" # Must be compatible with: `ksp`
kotlinx-coroutines = "1.8.1"
kotlinx-immutableCollections = "0.3.8"
kotlinx-dateTime = "0.6.1"
ktlintGradlePlugin = "12.2.0"
ktlint = "1.5.0"
detektGradlePlugin = "1.23.8"
composeLint = "1.3.1"
apollo = "4.0.0"
ktorfit = "2.4.0" # Must be compatible with: `ksp`
ktor = "3.1.0" # Must be compatible with: `ktorfit`
kotlinx-serialization = "1.8.0" # Must be compatible with: `kotlin`
timber = "5.0.1"
kermit = "2.0.2"
skie = "0.10.1" # Must be compatible with: `kotlin`
buildkonfig = "0.15.2"
nsExceptionKt = "1.0.0-BETA-7"
datastore = "1.1.1"
moko-resources = "0.24.5"
baselineProfile = "1.3.0"
junit = "1.2.1"
espressoCore = "3.6.1"
uiautomator = "2.3.0"
benchmarkMacroJunit4 = "1.2.4"
profileinstaller = "1.3.1"
dokkaVersion = "1.9.20"
google-servicesPlugin = "4.4.2"
google-firebaseAppDistributionPlugin = "5.0.0"
poet = "2.0.0"
turbine = "1.2.1"
# Android Namespaces
project-android-namespace = "app.futured.kmptemplate.android"
project-shared-app-namespace = "app.futured.kmptemplate.app.android"
project-shared-feature-namespace = "app.futured.kmptemplate.feature.android"
project-shared-network-graphql-namespace = "app.futured.kmptemplate.network.graphql.android"
project-shared-network-graphql-packageName = "app.futured.kmptemplate.network.graphql"
project-shared-network-rest-namespace = "app.futured.kmptemplate.network.rest.android"
project-shared-network-rest-packageName = "app.futured.kmptemplate.network.rest"
project-shared-persistence-namespace = "app.futured.kmptemplate.persistence.android"
project-shared-arkitekt-crUsecases-namespace = "app.futured.arkitekt.cr_usecases.android"
project-shared-arkitekt-decompose-namespace = "app.futured.arkitekt.decompose.android"
project-shared-platform-namespace = "app.futured.kmptemplate.platform.android"
project-shared-resources-namespace = "app.futured.kmptemplate.resources.android"
project-shared-resources-packageName = "app.futured.kmptemplate.resources"
project-baselineprofile-namespace = "app.futured.kmptemplate.baselineprofile"
[libraries]
# Compose
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
jetbrains-compose-runtime = { group = "org.jetbrains.compose.runtime", name = "runtime", version.ref = "jetbrainsComposeRuntime" }
# Koin
#koin-bom = { group = "io.insert-koin", name = "koin-bom", version.ref = "koin" }
koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koin" }
koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" }
koin-annotations = { group = "io.insert-koin", name = "koin-annotations", version.ref = "koinAnnotations" }
koin-ksp-compiler = { group = "io.insert-koin", name = "koin-ksp-compiler", version.ref = "koinAnnotations" }
# KotlinX
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
kotlinx-immutableCollections = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinx-immutableCollections" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
kotlinx-dateTime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-dateTime" }
# AndroidX
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "androidxActivity" }
androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "androidxActivity" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" }
androidx-lifecycle-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidxLifecycle" }
# Decompose
decompose = { group = "com.arkivanov.decompose", name = "decompose", version.ref = "decompose" }
decompose-compose-ext = { group = "com.arkivanov.decompose", name = "extensions-compose", version.ref = "decompose" }
essenty = { group = "com.arkivanov.essenty", name = "lifecycle", version.ref = "essenty" }
# KSP api
ksp-lib = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
poet-interop = { module = "com.squareup:kotlinpoet-ksp", version.ref = "poet" }
# Testing
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" }
androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" }
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
# Desugar
androidTools-desugarLibs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugarLibs" }
# Lint
lint-compose = { group = "com.slack.lint.compose", name = "compose-lint-checks", version.ref = "composeLint" }
# Logging
logging-timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
logging-kermit = { group = "co.touchlab", name = "kermit", version.ref = "kermit" }
logging-nsExceptionKt-core = { group = "com.rickclephas.kmp", name = "nsexception-kt-core", version.ref = "nsExceptionKt" }
# SKIE
skie-annotations = { group = "co.touchlab.skie", name = "configuration-annotations", version.ref = "skie" }
# Moko
moko-resources = { group = "dev.icerock.moko", name = "resources", version.ref = "moko-resources" }
# Network
network-apollo-runtime = { group = "com.apollographql.apollo", name = "apollo-runtime", version.ref = "apollo" }
network-apollo-normalizedCache-core = { group = "com.apollographql.apollo", name = "apollo-normalized-cache", version.ref = "apollo" }
network-apollo-normalizedCache-sqlite = { group = "com.apollographql.apollo", name = "apollo-normalized-cache-sqlite", version.ref = "apollo" }
network-ktorfit-ksp = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-ksp", version.ref = "ktorfit" }
network-ktorfit-lib = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-lib", version.ref = "ktorfit" }
network-ktorfit-converters = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-converters-response", version.ref = "ktorfit" }
network-ktor-client-serialization = { group = "io.ktor", name = "ktor-client-serialization", version.ref = "ktor" }
network-ktor-client-contentNegotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
network-ktor-client-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }
network-ktor-client-engine-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
network-ktor-client-engine-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }
network-ktor-http = { module = "io.ktor:ktor-http", version.ref = "ktor" }
network-ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
# Datastore
androidx-datastore-preferences-core = { group = "androidx.datastore", name = "datastore-preferences-core", version.ref = "datastore" }
# Convention plugin dependencies
gradlePlugin-kotlin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
gradlePlugin-ktlint = { group = "org.jlleitschuh.gradle", name = "ktlint-gradle", version.ref = "ktlintGradlePlugin" }
gradlePlugin-detekt = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detektGradlePlugin" }
gradlePlugin-ksp = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }
android-test = { id = "com.android.test", version.ref = "agp" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
apollo = { id = "com.apollographql.apollo", version.ref = "apollo" }
ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit" }
skie = { id = "co.touchlab.skie", version.ref = "skie" }
buildkonfig = { id = "com.codingfeline.buildkonfig", version.ref = "buildkonfig" }
moko-resources = { id = "dev.icerock.mobile.multiplatform-resources", version.ref = "moko-resources" }
androidx-baselineprofile = { id = "androidx.baselineprofile", version.ref = "baselineProfile" }
dokka = { id = "org.jetbrains.dokka", version.ref = "dokkaVersion" }
google-services = { id = "com.google.gms.google-services", version.ref = "google-servicesPlugin" }
firebase-distribution = { id = "com.google.firebase.appdistribution", version.ref = "google-firebaseAppDistributionPlugin" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detektGradlePlugin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
# Precompiled script plugins
conventions-lint = { id = "conventions-lint" }
conventions-annotationProcessing = { id = "conventions-annotations-processor" }
[bundles]
compose = [
"androidx-compose-runtime",
"androidx-compose-foundation",
"androidx-compose-ui",
"androidx-compose-ui-tooling",
"androidx-compose-ui-tooling-preview",
"androidx-compose-material3"
]
apollo = [
"network-apollo-runtime",
"network-apollo-normalizedCache-core",
"network-apollo-normalizedCache-sqlite"
]
ktorfit = [
"network-ktorfit-lib",
"network-ktorfit-converters",
"network-ktor-client-contentNegotiation",
"network-ktor-client-serialization",
"network-ktor-client-logging",
"network-ktor-serialization-kotlinx-json",
]