forked from signalapp/Signal-Android
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dependencies.gradle
212 lines (190 loc) · 15.1 KB
/
dependencies.gradle
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
// IMPORTANT: After changing a dependency, please run:
// ./gradlew --write-verification-metadata sha256 qa --rerun-tasks
dependencyResolutionManagement {
versionCatalogs {
libs {
version('androidx-appcompat', '1.6.1')
version('androidx-activity', '1.7.2')
version('androidx-camera', '1.3.0-rc01')
version('androidx-fragment', '1.6.1')
version('androidx-lifecycle', '2.6.1')
version('androidx-media3', '1.1.0')
version('androidx-navigation', '2.6.0')
version('androidx-window', '1.0.0')
version('exoplayer', '2.19.0')
version('glide', '4.15.1')
version('kotlin', '1.8.10')
version('libsignal-client', '0.32.1')
version('mp4parser', '1.9.39')
version('android-gradle-plugin', '8.0.2')
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.08.00')
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.5')
// 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:11.4.2')
// 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-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-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-camera-core', 'androidx.camera', 'camera-core').versionRef('androidx-camera')
library('androidx-camera-camera2', 'androidx.camera', 'camera-camera2').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')
// 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.23')
library('google-play-services-maps', 'com.google.android.gms:play-services-maps:18.1.0')
library('google-play-services-auth', 'com.google.android.gms:play-services-auth:20.3.0')
library('google-play-services-wallet', 'com.google.android.gms:play-services-wallet:19.1.0')
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', ['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.34.4')
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:3.12.13')
library('square-okio', 'com.squareup.okio:okio:3.0.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:5.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-compiler', 'com.github.bumptech.glide', 'compiler').versionRef('glide')
library('roundedimageview', 'com.makeramen:roundedimageview:2.1.0')
library('materialish-progress', 'com.pnikosis:materialish-progress:1.5')
library('subsampling-scale-image-view', 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0')
library('android-tooltips', 'com.tomergoldst.android:tooltips:1.0.6')
library('android-smsmms', 'com.klinkerapps:android-smsmms:4.0.1')
library('stream', 'com.annimon:stream:1.1.8')
library('lottie', 'com.airbnb.android:lottie:5.2.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')
library('kotlinx-collections-immutable', 'org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5')
// 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', ['mp4parser-isoparser', 'mp4parser-streaming', 'mp4parser-muxer'])
}
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')
}
testLibs {
version('androidx-test', '1.4.0')
version('androidx-test-ext-junit', '1.1.1')
version('robolectric', '4.10.3')
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:3.4.0')
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:3.12.13')
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')
}
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')
}
}
}