forked from signalapp/Signal-Android
-
Notifications
You must be signed in to change notification settings - Fork 1
/
dependencies.gradle.kts
220 lines (198 loc) · 14.8 KB
/
dependencies.gradle.kts
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
// IMPORTANT: After changing a dependency, please run:
// ./gradlew --write-verification-metadata sha256 qa --rerun-tasks
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
version("androidx-appcompat", "1.6.1")
version("androidx-activity", "1.8.2")
version("androidx-camera", "1.3.4")
version("androidx-fragment", "1.6.2")
version("androidx-lifecycle", "2.8.4")
version("androidx-media3", "1.3.1")
version("androidx-navigation", "2.7.6")
version("androidx-window", "1.2.0")
version("exoplayer", "2.19.0")
version("glide", "4.15.1")
version("kotlin", "1.9.20")
version("libsignal-client", "0.52.5")
version("mp4parser", "1.9.39")
version("android-gradle-plugin", "8.4.0")
version("accompanist", "0.28.0")
version("nanohttpd", "2.3.1")
// Android Plugins
library("android-library", "com.android.library", "com.android.library.gradle.plugin").versionRef("android-gradle-plugin")
library("android-application", "com.android.application", "com.android.application.gradle.plugin").versionRef("android-gradle-plugin")
// Compose
library("androidx-compose-bom", "androidx.compose:compose-bom:2023.10.01")
library("androidx-compose-material3", "androidx.compose.material3", "material3").withoutVersion()
library("androidx-compose-ui-tooling-preview", "androidx.compose.ui", "ui-tooling-preview").withoutVersion()
library("androidx-compose-ui-tooling-core", "androidx.compose.ui", "ui-tooling").withoutVersion()
library("androidx-compose-ui-test-manifest", "androidx.compose.ui", "ui-test-manifest").withoutVersion()
library("androidx-compose-runtime-livedata", "androidx.compose.runtime", "runtime-livedata").withoutVersion()
library("androidx-compose-rxjava3", "androidx.compose.runtime:runtime-rxjava3:1.4.2")
library("ktlint-twitter-compose", "com.twitter.compose.rules:ktlint:0.0.26")
// Accompanist
library("accompanist-permissions", "com.google.accompanist", "accompanist-permissions").versionRef("accompanist")
// Desugaring
library("android-tools-desugar", "com.android.tools:desugar_jdk_libs:1.1.6")
// Kotlin
library("kotlin-stdlib-jdk8", "org.jetbrains.kotlin", "kotlin-stdlib-jdk8").versionRef("kotlin")
library("kotlin-reflect", "org.jetbrains.kotlin", "kotlin-reflect").versionRef("kotlin")
library("kotlin-gradle-plugin", "org.jetbrains.kotlin", "kotlin-gradle-plugin").versionRef("kotlin")
library("ktlint", "org.jlleitschuh.gradle:ktlint-gradle:12.1.1")
library("kotlinx-coroutines-play-services", "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.8.1")
// Android X
library("androidx-activity-ktx", "androidx.activity", "activity-ktx").versionRef("androidx-activity")
library("androidx-activity-compose", "androidx.activity", "activity-compose").versionRef("androidx-activity")
library("androidx-appcompat", "androidx.appcompat", "appcompat").versionRef("androidx-appcompat")
library("androidx-core-ktx", "androidx.core:core-ktx:1.12.0")
library("androidx-fragment-ktx", "androidx.fragment", "fragment-ktx").versionRef("androidx-fragment")
library("androidx-fragment-testing", "androidx.fragment", "fragment-testing").versionRef("androidx-fragment")
library("androidx-annotation", "androidx.annotation:annotation:1.4.0")
library("androidx-constraintlayout", "androidx.constraintlayout:constraintlayout:2.1.4")
library("androidx-window-window", "androidx.window", "window").versionRef("androidx-window")
library("androidx-window-java", "androidx.window", "window-java").versionRef("androidx-window")
library("androidx-recyclerview", "androidx.recyclerview:recyclerview:1.3.1")
library("androidx-legacy-support", "androidx.legacy:legacy-support-v13:1.0.0")
library("androidx-legacy-preference", "androidx.legacy:legacy-preference-v14:1.0.0")
library("androidx-preference", "androidx.preference:preference:1.0.0")
library("androidx-gridlayout", "androidx.gridlayout:gridlayout:1.0.0")
library("androidx-exifinterface", "androidx.exifinterface:exifinterface:1.3.3")
library("androidx-media3-exoplayer", "androidx.media3", "media3-exoplayer").versionRef("androidx-media3")
library("androidx-media3-session", "androidx.media3", "media3-session").versionRef("androidx-media3")
library("androidx-media3-ui", "androidx.media3", "media3-ui").versionRef("androidx-media3")
library("androidx-media3-decoder", "androidx.media3", "media3-decoder").versionRef("androidx-media3")
library("androidx-media3-common", "androidx.media3", "media3-common").versionRef("androidx-media3")
library("androidx-multidex", "androidx.multidex:multidex:2.0.1")
library("androidx-navigation-fragment-ktx", "androidx.navigation", "navigation-fragment-ktx").versionRef("androidx-navigation")
library("androidx-navigation-ui-ktx", "androidx.navigation", "navigation-ui-ktx").versionRef("androidx-navigation")
library("androidx-navigation-compose", "androidx.navigation", "navigation-compose").versionRef("androidx-navigation")
library("androidx-lifecycle-viewmodel-ktx", "androidx.lifecycle", "lifecycle-viewmodel-ktx").versionRef("androidx-lifecycle")
library("androidx-lifecycle-livedata-core", "androidx.lifecycle", "lifecycle-livedata").versionRef("androidx-lifecycle")
library("androidx-lifecycle-livedata-ktx", "androidx.lifecycle", "lifecycle-livedata-ktx").versionRef("androidx-lifecycle")
library("androidx-lifecycle-process", "androidx.lifecycle", "lifecycle-process").versionRef("androidx-lifecycle")
library("androidx-lifecycle-viewmodel-savedstate", "androidx.lifecycle", "lifecycle-viewmodel-savedstate").versionRef("androidx-lifecycle")
library("androidx-lifecycle-common-java8", "androidx.lifecycle", "lifecycle-common-java8").versionRef("androidx-lifecycle")
library("androidx-lifecycle-reactivestreams-ktx", "androidx.lifecycle", "lifecycle-reactivestreams-ktx").versionRef("androidx-lifecycle")
library("androidx-lifecycle-runtime-compose", "androidx.lifecycle", "lifecycle-runtime-compose").versionRef("androidx-lifecycle")
library("androidx-camera-core", "androidx.camera", "camera-core").versionRef("androidx-camera")
library("androidx-camera-camera2", "androidx.camera", "camera-camera2").versionRef("androidx-camera")
library("androidx-camera-extensions", "androidx.camera", "camera-extensions").versionRef("androidx-camera")
library("androidx-camera-lifecycle", "androidx.camera", "camera-lifecycle").versionRef("androidx-camera")
library("androidx-camera-view", "androidx.camera", "camera-view").versionRef("androidx-camera")
library("androidx-concurrent-futures", "androidx.concurrent:concurrent-futures:1.0.0")
library("androidx-autofill", "androidx.autofill:autofill:1.0.0")
library("androidx-biometric", "androidx.biometric:biometric:1.1.0")
library("androidx-sharetarget", "androidx.sharetarget:sharetarget:1.2.0-rc02")
library("androidx-sqlite", "androidx.sqlite:sqlite:2.1.0")
library("androidx-core-role", "androidx.core:core-role:1.0.0")
library("androidx-profileinstaller", "androidx.profileinstaller:profileinstaller:1.2.2")
library("androidx-asynclayoutinflater", "androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-alpha01")
library("androidx-asynclayoutinflater-appcompat", "androidx.asynclayoutinflater:asynclayoutinflater-appcompat:1.1.0-alpha01")
library("androidx-emoji2", "androidx.emoji2:emoji2:1.4.0")
// Material
library("material-material", "com.google.android.material:material:1.8.0")
// Google
library("google-protobuf-javalite", "com.google.protobuf:protobuf-javalite:3.11.4")
library("google-libphonenumber", "com.googlecode.libphonenumber:libphonenumber:8.13.40")
library("google-play-services-maps", "com.google.android.gms:play-services-maps:18.2.0")
library("google-play-services-auth", "com.google.android.gms:play-services-auth:21.0.0")
library("google-play-services-wallet", "com.google.android.gms:play-services-wallet:19.2.1")
library("google-zxing-android-integration", "com.google.zxing:android-integration:3.3.0")
library("google-zxing-core", "com.google.zxing:core:3.4.1")
library("google-ez-vcard", "com.googlecode.ez-vcard:ez-vcard:0.9.11")
library("google-jsr305", "com.google.code.findbugs:jsr305:3.0.2")
library("google-guava-android", "com.google.guava:guava:30.0-android")
library("google-flexbox", "com.google.android.flexbox:flexbox:3.0.0")
bundle("media3", listOf("androidx-media3-exoplayer", "androidx-media3-session", "androidx-media3-ui"))
// Firebase
library("firebase-messaging", "com.google.firebase:firebase-messaging:23.1.2")
// 1st Party
library("libsignal-client", "org.signal", "libsignal-client").versionRef("libsignal-client")
library("libsignal-android", "org.signal", "libsignal-android").versionRef("libsignal-client")
library("signal-aesgcmprovider", "org.signal:aesgcmprovider:0.0.3")
library("signal-ringrtc", "org.signal:ringrtc-android:2.46.0")
library("signal-android-database-sqlcipher", "org.signal:sqlcipher-android:4.5.4-S2")
// Third Party
library("greenrobot-eventbus", "org.greenrobot:eventbus:3.0.0")
library("jackson-core", "com.fasterxml.jackson.core:jackson-databind:2.9.9.2")
library("jackson-module-kotlin", "com.fasterxml.jackson.module:jackson-module-kotlin:2.12.0")
library("square-okhttp3", "com.squareup.okhttp3:okhttp:4.12.0")
library("square-okio", "com.squareup.okio:okio:3.6.0")
library("square-leakcanary", "com.squareup.leakcanary:leakcanary-android:2.7")
library("rxjava3-rxjava", "io.reactivex.rxjava3:rxjava:3.0.13")
library("rxjava3-rxandroid", "io.reactivex.rxjava3:rxandroid:3.0.0")
library("rxjava3-rxkotlin", "io.reactivex.rxjava3:rxkotlin:3.0.1")
library("rxdogtag", "com.uber.rxdogtag2:rxdogtag:2.0.1")
library("conscrypt-android", "org.conscrypt:conscrypt-android:2.5.2")
library("mobilecoin", "com.mobilecoin:android-sdk:6.0.1")
library("leolin-shortcutbadger", "me.leolin:ShortcutBadger:1.1.22")
library("emilsjolander-stickylistheaders", "se.emilsjolander:stickylistheaders:2.7.0")
library("apache-httpclient-android", "org.apache.httpcomponents:httpclient-android:4.3.5")
library("glide-glide", "com.github.bumptech.glide", "glide").versionRef("glide")
library("glide-ksp", "com.github.bumptech.glide", "ksp").versionRef("glide")
library("roundedimageview", "com.makeramen:roundedimageview:2.1.0")
library("materialish-progress", "com.pnikosis:materialish-progress:1.7")
library("subsampling-scale-image-view", "com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0")
library("android-tooltips", "com.tomergoldst.android:tooltips:1.0.6")
library("stream", "com.annimon:stream:1.1.8")
library("lottie", "com.airbnb.android:lottie:5.2.0")
library("lottie-compose", "com.airbnb.android:lottie-compose:6.4.0")
library("dnsjava", "dnsjava:dnsjava:2.1.9")
library("nanohttpd-webserver", "org.nanohttpd", "nanohttpd-webserver").versionRef("nanohttpd")
library("nanohttpd-websocket", "org.nanohttpd", "nanohttpd-websocket").versionRef("nanohttpd")
library("kotlinx-collections-immutable", "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5")
// Can"t use the newest version because it hits some weird NoClassDefFoundException
library("jknack-handlebars", "com.github.jknack:handlebars:4.0.7")
// Mp4Parser
library("mp4parser-isoparser", "org.mp4parser", "isoparser").versionRef("mp4parser")
library("mp4parser-streaming", "org.mp4parser", "streaming").versionRef("mp4parser")
library("mp4parser-muxer", "org.mp4parser", "muxer").versionRef("mp4parser")
bundle("mp4parser", listOf("mp4parser-isoparser", "mp4parser-streaming", "mp4parser-muxer"))
}
create("benchmarkLibs") {
version("androidx-test-ext-junit", "1.1.3")
// Macrobench/Baseline profiles
library("androidx-test-ext-junit", "androidx.test.ext", "junit").versionRef("androidx-test-ext-junit")
library("espresso-core", "androidx.test.espresso:espresso-core:3.4.0")
library("uiautomator", "androidx.test.uiautomator:uiautomator:2.2.0")
library("androidx-benchmark-macro", "androidx.benchmark:benchmark-macro-junit4:1.1.1")
library("androidx-benchmark-micro", "androidx.benchmark:benchmark-junit4:1.1.0-beta04")
}
create("testLibs") {
version("androidx-test", "1.5.0")
version("androidx-test-ext-junit", "1.1.5")
version("robolectric", "4.10.3")
version("espresso", "3.4.0")
library("junit-junit", "junit:junit:4.13.2")
library("androidx-test-core", "androidx.test", "core").versionRef("androidx-test")
library("androidx-test-core-ktx", "androidx.test", "core-ktx").versionRef("androidx-test")
library("androidx-test-ext-junit", "androidx.test.ext", "junit").versionRef("androidx-test-ext-junit")
library("androidx-test-ext-junit-ktx", "androidx.test.ext", "junit-ktx").versionRef("androidx-test-ext-junit")
library("androidx-test-monitor", "androidx.test:monitor:1.6.1")
library("androidx-test-orchestrator", "androidx.test:orchestrator:1.4.1")
library("androidx-test-runner", "androidx.test", "runner").versionRef("androidx-test")
library("espresso-core", "androidx.test.espresso", "espresso-core").versionRef("espresso")
library("mockito-core", "org.mockito:mockito-inline:4.6.1")
library("mockito-kotlin", "org.mockito.kotlin:mockito-kotlin:4.0.0")
library("mockito-android", "org.mockito:mockito-android:4.6.1")
library("robolectric-robolectric", "org.robolectric", "robolectric").versionRef("robolectric")
library("robolectric-shadows-multidex", "org.robolectric", "shadows-multidex").versionRef("robolectric")
library("bouncycastle-bcprov-jdk15on", "org.bouncycastle:bcprov-jdk15on:1.70")
library("bouncycastle-bcpkix-jdk15on", "org.bouncycastle:bcpkix-jdk15on:1.70")
library("hamcrest-hamcrest", "org.hamcrest:hamcrest:2.2")
library("assertj-core", "org.assertj:assertj-core:3.11.1")
library("square-okhttp-mockserver", "com.squareup.okhttp3:mockwebserver:4.12.0")
library("mockk", "io.mockk:mockk:1.13.2")
library("mockk-android", "io.mockk:mockk-android:1.13.2")
library("conscrypt-openjdk-uber", "org.conscrypt:conscrypt-openjdk-uber:2.5.2")
library("diff-utils", "io.github.java-diff-utils:java-diff-utils:4.12")
}
create("lintLibs") {
version("lint", "30.2.2")
library("lint-api", "com.android.tools.lint", "lint-api").versionRef("lint")
library("lint-checks", "com.android.tools.lint", "lint-checks").versionRef("lint")
library("lint-tests", "com.android.tools.lint", "lint-tests").versionRef("lint")
}
}
}