-
Notifications
You must be signed in to change notification settings - Fork 2
/
libs.versions.toml
170 lines (144 loc) · 8.44 KB
/
libs.versions.toml
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
[versions]
# Kotlin
kotlin = "2.0.20" # kotlin and ksp should be updated together
kotlinx-datetime = "0.6.1"
kotlinx-serialization = "1.7.3"
kotlinx-coroutines = "1.9.0"
# UI
compose-bom = "2024.10.00"
activity-compose = "1.9.3"
androidx-lifecycle = "2.8.6"
coil = "2.7.0"
eva = "1.1.1"
core-splashscreen = "1.0.1"
appcompat = "1.7.0"
# Navigation
compose-navigation = "2.8.3"
# Database
room = "2.6.1"
# Datastore
datastore = "1.1.1"
protobuf = "4.28.2"
protobufPlugin = "0.9.4"
# Logging
timber = "5.0.1"
# Testing
## Unit
junit4 = "4.13.2"
junit5 = "5.10.2"
assertk = "0.28.0"
turbine = "1.1.0"
## Instrumented
test-core = "1.6.1"
espresso-core = "3.6.1"
test-ext-junit = "1.2.1"
test-rules = "1.6.1"
test-runner = "1.6.2"
uiAutomator = "2.3.0"
# Desugaring
desugar-jdk-libs = "2.1.2"
# Formatting + Linting
detekt = "1.23.7"
nlopez-composeRules = "0.4.15"
# API calls
ktor = "3.0.0"
# Plugins
# android-gradle-plugin and androidTools should be updated together
android-gradle-plugin = "8.7.1" # agp = x.y.z
androidTools = "31.7.1" # androidTools = (agp.x + 23).(agp.y).(agp.z)
ksp = "2.0.20-1.0.25" # kotlin and ksp should be updated together
junit5-plugin = "1.10.0.0"
secrets = "2.0.1"
[libraries]
# Kotlin
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinx-datetime" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
# UI
activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" }
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
compose-ui = { group = "androidx.compose.ui", name = "ui" }
compose-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
compose-animation = { group = "androidx.compose.animation", name = "animation" }
compose-material3 = { group = "androidx.compose.material3", name = "material3" }
compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class" }
lifecycle-viewModel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
# collectAsStateWithLifecycle()
lifecycle-runtimeCompose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
# SavedStateHandle
lifecycle-viewModel-savedstate = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-savedstate", version.ref = "androidx-lifecycle" }
coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
icons-material-core = { group = "androidx.compose.material", name = "material-icons-core" }
icons-material-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
icons-eva = { group = "br.com.devsrsouza.compose.icons", name = "eva-icons", version.ref = "eva" }
core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "core-splashscreen" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
# Navigation
compose-navigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "compose-navigation" }
# Database
room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
# Datastore
datastore-core = { group = "androidx.datastore", name = "datastore", version.ref = "datastore" }
protobuf-kotlin-lite = { group = "com.google.protobuf", name = "protobuf-kotlin-lite", version.ref = "protobuf" }
protobuf-protoc = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }
# Logging
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
# Testing
## Unit
junit4 = { group = "junit", name = "junit", version.ref = "junit4" }
junit5 = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit5" }
junit5-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit5" }
junit5-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit5" }
assertk = { group = "com.willowtreeapps.assertk", name = "assertk", version.ref = "assertk" }
turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine" }
## Instrumented
composeTest-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
composeTest-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
test-core = { group = "androidx.test", name = "core-ktx", version.ref = "test-core" }
test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
test-ext-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "test-ext-junit" }
test-rules = { group = "androidx.test", name = "rules", version.ref = "test-rules" }
test-runner = { group = "androidx.test", name = "runner", version.ref = "test-runner" }
test-uiAutomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiAutomator" }
# Desugaring
android-desugarJdkLibs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar-jdk-libs" }
# Formatting + Linting
detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
linting-composeDetekt = { group = "io.nlopez.compose.rules", name = "detekt", version.ref = "nlopez-composeRules" }
# API calls
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
ktor-client-cio = { group = "io.ktor", name = "ktor-client-cio", version.ref = "ktor" }
ktor-client-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }
# typesafe requests
ktor-client-resources = { group = "io.ktor", name = "ktor-client-resources", version.ref = "ktor" }
ktor-client-contentNegotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
ktor-serialization-kotlinxJson = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
ktor-client-auth = { group = "io.ktor", name = "ktor-client-auth", version.ref = "ktor" }
# Lint
lint-api = { group = "com.android.tools.lint", name = "lint-api", version.ref = "androidTools" }
lint-checks = { group = "com.android.tools.lint", name = "lint-checks", version.ref = "androidTools" }
lint-tests = { group = "com.android.tools.lint", name = "lint-tests", version.ref = "androidTools" }
[plugins]
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
room = { id = "androidx.room", version.ref = "room" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
junit5 = { id = "de.mannodermaus.android-junit5", version.ref = "junit5-plugin" }
android-test = { id = "com.android.test", version.ref = "android-gradle-plugin" }
kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
secrets = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secrets" }
android-lint = { id = "com.android.lint", version.ref = "android-gradle-plugin" }
protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }