@@ -14,12 +14,6 @@ compileSdk = "35"
14
14
minSdk = " 34"
15
15
targetSdk = " 35"
16
16
17
- # Test versions
18
- junit4 = " 4.13.2"
19
- junit5 = " 5.10.2" # careful, upgrading this can change a Cipher's IV size in tests!?
20
- mockk = " 1.13.4" # newer versions require kotlin > 1.8.10
21
- espresso = " 3.4.0"
22
-
23
17
# Dependency versions below this are AOSP versions.
24
18
# We use "strictly" to enforce the version cannot be overriden by transitive dependencies.
25
19
# We need to enforce that the versions we use are the same as AOSP to ensure compatibility.
@@ -32,7 +26,7 @@ espresso = "3.4.0"
32
26
# 1.9.0 Android 14 (QPR2)
33
27
# 1.9.22 Android 14 (QPR3)
34
28
# 1.9.23 Android 15
35
- # Check: https://android.googlesource.com/platform/external/kotlinc/+/refs/heads/android15-qpr1 -release/build.txt
29
+ # Check: https://android.googlesource.com/platform/external/kotlinc/+/refs/heads/android15-qpr2 -release/build.txt
36
30
kotlin = { strictly = " 1.9.23" }
37
31
ksp = " 1.9.23-1.0.20" # Keep in match with kotlin version
38
32
dokka = " 1.9.20" # Dokka has no releases after 1.9.20
@@ -45,42 +39,59 @@ logging = { strictly = "6.0.3" }
45
39
slf4j-api = { strictly = " 2.0.16" }
46
40
47
41
# Google versions
48
- # https://android.googlesource.com/platform/external/protobuf/+/refs/heads/android15-qpr1 -release/java/pom.xml#7
42
+ # https://android.googlesource.com/platform/external/protobuf/+/refs/heads/android15-qpr2 -release/java/pom.xml#7
49
43
protobuf = { strictly = " 3.21.12" }
50
- # https://android.googlesource.com/platform/prebuilts/sdk/+/refs/heads/android15-qpr1 -release/current/extras/material-design-x/Android.bp#7
51
- material = { strictly = " 1.11.0 " }
44
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/refs/heads/android15-qpr2 -release/current/extras/material-design-x/Android.bp#7
45
+ material = { strictly = " 1.13.0-alpha08 " }
52
46
# careful with upgrading tink, so old backups continue to be decryptable
53
47
# https://github.com/tink-crypto/tink-java/releases
54
48
tink = { strictly = " 1.15.0" }
55
49
56
50
# Coroutines versions
57
- # https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/heads/android15-qpr1 -release/CHANGES.md
58
- coroutines = { strictly = " 1.7.3 " } # AOSP has 1.7.2 but several libs require 1.7.3
51
+ # https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/heads/android15-qpr2 -release/CHANGES.md
52
+ coroutines = { strictly = " 1.8.1 " }
59
53
60
54
# AndroidX versions
61
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/room/room-ktx?autodive=0
62
- room = { strictly = " 2.7.0-alpha05" }
63
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/core/core-ktx?autodive=0
64
- androidx-core = { strictly = " 1.15 .0-beta01 " }
65
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/fragment/fragment-ktx?autodive=0
66
- androidx-fragment = { strictly = " 1.8.5 " } # 1.9.0-alpha01 in AOSP but isn't released
67
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/activity/activity-ktx?autodive=0
68
- androidx-activity = { strictly = " 1.10.0-alpha02 " }
55
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/room/room-ktx?autodive=0
56
+ room = { strictly = " 2.7.0-alpha05" } # later versions require higher kotlin and up to 2.7.0-alpha12 there is a build system bug
57
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/core/core-ktx?autodive=0
58
+ androidx-core = { strictly = " 1.16 .0-alpha01 " }
59
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/fragment/fragment-ktx?autodive=0
60
+ androidx-fragment = { strictly = " 1.8.6 " } # 1.9.0-alpha01 in AOSP but isn't released
61
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/activity/activity-ktx?autodive=0
62
+ androidx-activity = { strictly = " 1.10.0-rc01 " }
69
63
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/preference/preference?autodive=0
70
64
androidx-preference = { strictly = " 1.2.1" } # 1.3.0-alpha01 in AOSP but isn't released
71
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/lifecycle/lifecycle-viewmodel-ktx?autodive=0
72
- androidx-lifecycle-viewmodel-ktx = { strictly = " 2.9.0-alpha03 " }
73
- androidx-lifecycle-livedata-ktx = { strictly = " 2.9.0-alpha03 " }
74
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/constraintlayout/constraintlayout?autodive=0
65
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/lifecycle/lifecycle-viewmodel-ktx?autodive=0
66
+ androidx-lifecycle-viewmodel-ktx = { strictly = " 2.9.0-alpha08 " }
67
+ androidx-lifecycle-livedata-ktx = { strictly = " 2.9.0-alpha08 " }
68
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/constraintlayout/constraintlayout?autodive=0
75
69
androidx-constraintlayout = { strictly = " 2.2.0-beta01" }
76
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/documentfile/documentfile?autodive=0
70
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/documentfile/documentfile?autodive=0
77
71
androidx-documentfile = { strictly = " 1.1.0-alpha01" } # 1.1.0-alpha02 in AOSP but isn't released
78
- # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr1 -release/current/androidx/m2repository/androidx/work/work-runtime-ktx?autodive=0
79
- androidx-work-runtime = { strictly = " 2.10.0-beta01 " }
72
+ # https://android.googlesource.com/platform/prebuilts/sdk/+/android15-qpr2 -release/current/androidx/m2repository/androidx/work/work-runtime-ktx?autodive=0
73
+ androidx-work-runtime = { strictly = " 2.10.0-rc01 " }
80
74
81
- # https://android.googlesource.com/platform/external/okio/+/refs/heads/android15-qpr1 -release/CHANGELOG.md
75
+ # https://android.googlesource.com/platform/external/okio/+/refs/heads/android15-qpr2 -release/CHANGELOG.md
82
76
squareup-okio = { strictly = " 3.7.0" }
83
77
78
+ # Test versions
79
+ junit4 = " 4.13.2"
80
+ junit5 = " 5.10.2" # careful, upgrading this can change a Cipher's IV size in tests!?
81
+ mockk = " 1.13.8"
82
+ androidXjunit = " 1.2.1"
83
+ androidXrunner = " 1.6.2"
84
+ androidXrules = " 1.6.1"
85
+ androidXuiautomator = " 2.3.0"
86
+ robolectric = " 4.12.2"
87
+ espresso = " 3.6.1"
88
+ turbine = " 1.0.0"
89
+ slf4jSimple = " 2.0.3"
90
+ hamcrest = " 2.2"
91
+ xpp3 = " 1.1.6"
92
+ zstdJni = " 1.5.6-5"
93
+ bitcoinjCore = " 0.16.2"
94
+
84
95
[libraries ]
85
96
# Kotlin standard dependencies
86
97
kotlin-stdlib = { module = " org.jetbrains.kotlin:kotlin-stdlib" , version.ref = " kotlin" }
@@ -117,6 +128,30 @@ squareup-okio = { module= "com.squareup.okio:okio", version.ref = "squareup-okio
117
128
kotlin-logging = { module = " io.github.oshai:kotlin-logging-jvm" , version.ref = " logging" }
118
129
slf4j-api = { module = " org.slf4j:slf4j-api" , version.ref = " slf4j-api" }
119
130
131
+ # Test dependencies
132
+ junit4 = { module = " junit:junit" , version.ref = " junit4" }
133
+ kotlin-test-junit = { module = " org.jetbrains.kotlin:kotlin-test-junit" , version.ref = " kotlin" }
134
+ junit-jupiter-params = { module = " org.junit.jupiter:junit-jupiter-params" , version.ref = " junit5" }
135
+ junit-jupiter-api = { module = " org.junit.jupiter:junit-jupiter-api" , version.ref = " junit5" }
136
+ junit-jupiter-engine = { module = " org.junit.jupiter:junit-jupiter-engine" , version.ref = " junit5" }
137
+ junit-vintage-engine = { module = " org.junit.vintage:junit-vintage-engine" , version.ref = " junit5" }
138
+ androidx-junit = { module = " androidx.test.ext:junit" , version.ref = " androidXjunit" }
139
+ androidx-rules = { module = " androidx.test:rules" , version.ref = " androidXrules" }
140
+ androidx-runner = { module = " androidx.test:runner" , version.ref = " androidXrunner" }
141
+ androidx-uiautomator = { module = " androidx.test.uiautomator:uiautomator" , version.ref = " androidXuiautomator" }
142
+ androidx-room-testing = { module = " androidx.room:room-testing" , version.ref = " room" }
143
+ robolectric = { module = " org.robolectric:robolectric" , version.ref = " robolectric" }
144
+ androidx-espresso-core = { module = " androidx.test.espresso:espresso-core" , version.ref = " espresso" }
145
+ mockk = { module = " io.mockk:mockk" , version.ref = " mockk" }
146
+ mockk-android = { module = " io.mockk:mockk-android" , version.ref = " mockk" }
147
+ kotlinx-coroutines-test = { module = " org.jetbrains.kotlinx:kotlinx-coroutines-test" , version.ref = " coroutines" }
148
+ turbine = { module = " app.cash.turbine:turbine" , version.ref = " turbine" }
149
+ hamcrest = { module = " org.hamcrest:hamcrest" , version.ref = " hamcrest" }
150
+ slf4j-simple = { module = " org.slf4j:slf4j-simple" , version.ref = " slf4jSimple" }
151
+ bitcoinj-core = { module = " org.bitcoinj:bitcoinj-core" , version.ref = " bitcoinjCore" }
152
+ xpp3 = { module = " org.ogce:xpp3" , version.ref = " xpp3" }
153
+ zstd-jni = { module = " com.github.luben:zstd-jni" , version.ref = " zstdJni" }
154
+
120
155
[bundles ]
121
156
kotlin = [" kotlin-stdlib" , " kotlin-stdlib-jdk8" , " kotlin-stdlib-common" ]
122
157
coroutines = [" kotlinx-coroutines-core-jvm" , " kotlinx-coroutines-android" ]
0 commit comments