Skip to content

Commit 3ff18b1

Browse files
authored
[MBL-19081][All] Dependency update (#3270)
Test plan: Smoke test all the apps. refs: MBL-19081 affects: Student, Teacher, Parent release note: none
1 parent 47fb6ea commit 3ff18b1

File tree

124 files changed

+507
-4263
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+507
-4263
lines changed

apps/build.gradle

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ buildscript {
3434
classpath Plugins.FIREBASE_CRASHLYTICS
3535
if (project.coverageEnabled) { classpath Plugins.JACOCO_ANDROID }
3636
classpath Plugins.HILT
37+
classpath Plugins.KSP
3738
}
3839
}
3940

@@ -50,10 +51,40 @@ allprojects {
5051
username pspdfMavenUser
5152
password pspdfMavenPass
5253
}
53-
url 'https://customers.pspdfkit.com/maven/'
54+
url 'https://my.nutrient.io/maven'
5455
}
5556
maven { url "https://maven.google.com/" }
5657
}
58+
59+
plugins.withType(com.android.build.gradle.BasePlugin) {
60+
android {
61+
packaging {
62+
resources {
63+
pickFirsts += [
64+
'META-INF/INDEX.LIST',
65+
'META-INF/io.netty.versions.properties'
66+
]
67+
merges += [
68+
'META-INF/LICENSE*',
69+
'META-INF/NOTICE*',
70+
'META-INF/DEPENDENCIES*'
71+
]
72+
excludes += [
73+
'META-INF/DEPENDENCIES',
74+
'META-INF/LICENSE',
75+
'META-INF/LICENSE.txt',
76+
'META-INF/LICENSE.md',
77+
'META-INF/NOTICE',
78+
'META-INF/NOTICE.txt',
79+
'META-INF/NOTICE.md',
80+
'META-INF/maven/**',
81+
'META-INF/*.kotlin_module',
82+
'META-INF/services/javax.annotation.processing.Processor'
83+
]
84+
}
85+
}
86+
}
87+
}
5788
}
5889

5990
task assembleAllApps() {
@@ -72,4 +103,3 @@ configurations.all{
72103
}
73104
}
74105
}
75-

apps/buildSrc/src/main/java/GlobalDependencies.kt

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ object Versions {
88

99
/* Build/tooling */
1010
const val ANDROID_GRADLE_TOOLS = "8.6.1"
11-
const val BUILD_TOOLS = "34.0.0"
11+
const val BUILD_TOOLS = "35.0.0"
1212

1313
/* Testing */
1414
const val JUNIT = "4.13.2"
@@ -18,31 +18,31 @@ object Versions {
1818
/* Kotlin */
1919
const val KOTLIN = "2.0.21"
2020
const val KOTLIN_COROUTINES = "1.9.0"
21+
const val KSP = "2.0.21-1.0.27"
2122

2223
/* Google, Play Services */
23-
const val GOOGLE_SERVICES = "4.4.2"
24+
const val GOOGLE_SERVICES = "4.4.3"
2425

2526
/* Others */
26-
const val APOLLO = "4.1.1"
27-
const val PSPDFKIT = "2024.3.1"
27+
const val APOLLO = "4.3.3"
28+
const val NUTRIENT = "10.7.0"
2829
const val PHOTO_VIEW = "2.3.0"
2930
const val MOBIUS = "1.2.1"
30-
const val HILT = "2.52"
31-
const val HILT_ANDROIDX = "1.2.0"
32-
const val LIFECYCLE = "2.8.6"
33-
const val FRAGMENT = "1.8.4"
34-
const val WORK_MANAGER = "2.9.1"
35-
const val WORK_TEST = "2.9.1"
36-
const val GLIDE_VERSION = "4.16.0"
31+
const val HILT = "2.57.2"
32+
const val HILT_ANDROIDX = "1.3.0"
33+
const val LIFECYCLE = "2.9.4"
34+
const val FRAGMENT = "1.8.9"
35+
const val WORK_MANAGER = "2.10.5"
36+
const val GLIDE_VERSION = "5.0.5"
3737
const val RETROFIT = "2.11.0"
3838
const val OKHTTP = "4.12.0"
39-
const val ROOM = "2.6.1"
40-
const val HAMCREST = "2.2"
41-
const val NAVIGATION = "2.8.3"
42-
const val MEDIA3 = "1.6.1"
43-
const val DATASTORE = "1.1.1"
44-
const val LOTTIE = "6.5.2"
45-
const val ENCRYPTED_SHARED_PREFERENCES = "1.0.0"
39+
const val ROOM = "2.7.0"
40+
const val HAMCREST = "3.0"
41+
const val NAVIGATION = "2.9.5"
42+
const val MEDIA3 = "1.8.0"
43+
const val DATASTORE = "1.1.7"
44+
const val LOTTIE = "6.6.6"
45+
const val ENCRYPTED_SHARED_PREFERENCES = "1.1.0"
4646
const val JAVA_JWT = "4.5.0"
4747
const val GLANCE = "1.1.1"
4848
const val LIVEDATA = "1.9.0"
@@ -65,28 +65,27 @@ object Libs {
6565
const val ANDROIDX_APPCOMPAT = "androidx.appcompat:appcompat:1.7.0"
6666
const val ANDROIDX_BROWSER = "androidx.browser:browser:1.8.0"
6767
const val ANDROIDX_CARDVIEW = "androidx.cardview:cardview:1.0.0"
68-
const val ANDROIDX_CONSTRAINT_LAYOUT = "androidx.constraintlayout:constraintlayout:2.1.4"
68+
const val ANDROIDX_CONSTRAINT_LAYOUT = "androidx.constraintlayout:constraintlayout:2.2.0"
6969
const val ANDROIDX_EXIF = "androidx.exifinterface:exifinterface:1.3.7"
7070
const val ANDROIDX_FRAGMENT = "androidx.fragment:fragment:${Versions.FRAGMENT}"
7171
const val ANDROIDX_FRAGMENT_KTX = "androidx.fragment:fragment-ktx:${Versions.FRAGMENT}"
7272
const val ANDROIDX_PALETTE = "androidx.palette:palette:1.0.0"
7373
const val ANDROIDX_PERCENT = "androidx.percentlayout:percentlayout:1.0.0"
74-
const val ANDROIDX_RECYCLERVIEW = "androidx.recyclerview:recyclerview:1.3.2"
74+
const val ANDROIDX_RECYCLERVIEW = "androidx.recyclerview:recyclerview:1.4.0"
7575
const val ANDROIDX_VECTOR = "androidx.vectordrawable:vectordrawable:1.2.0"
7676
const val ANDROIDX_SWIPE_REFRESH_LAYOUT = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
7777
const val ANDROIDX_CORE_TESTING = "androidx.arch.core:core-testing:2.2.0"
7878
const val ANDROIDX_WORK_MANAGER = "androidx.work:work-runtime:${Versions.WORK_MANAGER}"
7979
const val ANDROIDX_WORK_MANAGER_KTX = "androidx.work:work-runtime-ktx:${Versions.WORK_MANAGER}"
80-
const val ANDROIDX_WORK_TEST = "androidx.work:work-testing:${Versions.WORK_TEST}"
81-
const val ANDROIDX_WEBKIT = "androidx.webkit:webkit:1.9.0"
82-
const val ANDROIDX_DATABINDING_COMPILER = "androidx.databinding:databinding-compiler:${Versions.ANDROID_GRADLE_TOOLS}" // This is bundled with the gradle plugin so we use the same version
83-
const val ANDROIDX_COMPOSE_ACTIVITY = "androidx.activity:activity-compose:1.9.0"
80+
const val ANDROIDX_WORK_TEST = "androidx.work:work-testing:${Versions.WORK_MANAGER}"
81+
const val ANDROIDX_WEBKIT = "androidx.webkit:webkit:1.12.0"
82+
const val ANDROIDX_COMPOSE_ACTIVITY = "androidx.activity:activity-compose:1.10.0"
8483
const val DATASTORE = "androidx.datastore:datastore-preferences:${Versions.DATASTORE}"
8584
const val ENCRYPTED_SHARED_PREFERENCES = "androidx.security:security-crypto:${Versions.ENCRYPTED_SHARED_PREFERENCES}"
8685
const val JAVA_JWT = "com.auth0:java-jwt:${Versions.JAVA_JWT}"
8786

8887
/* Firebase */
89-
const val FIREBASE_BOM = "com.google.firebase:firebase-bom:33.4.0"
88+
const val FIREBASE_BOM = "com.google.firebase:firebase-bom:34.3.0"
9089
const val FIREBASE_CRASHLYTICS = "com.google.firebase:firebase-crashlytics"
9190
const val FIREBASE_MESSAGING = "com.google.firebase:firebase-messaging"
9291
const val FIREBASE_CONFIG = "com.google.firebase:firebase-config"
@@ -95,7 +94,7 @@ object Libs {
9594
/* Google Dependencies */
9695
const val PLAY_IN_APP_UPDATES = "com.google.android.play:app-update:2.1.0"
9796
const val FLEXBOX_LAYOUT = "com.google.android.flexbox:flexbox:3.0.0"
98-
const val MATERIAL_DESIGN = "com.google.android.material:material:1.12.0"
97+
const val MATERIAL_DESIGN = "com.google.android.material:material:1.13.0"
9998

10099
/* Mobius */
101100
const val MOBIUS_CORE = "com.spotify.mobius:mobius-core:${Versions.MOBIUS}"
@@ -133,7 +132,7 @@ object Libs {
133132
const val COMPOSE_VIEW_MODEL = "androidx.lifecycle:lifecycle-viewmodel-compose:${Versions.LIFECYCLE}"
134133
const val COMPOSE_NAVIGATION = "androidx.navigation:navigation-compose:2.8.9"
135134
/* Media and content handling */
136-
const val PSPDFKIT = "com.pspdfkit:pspdfkit:${Versions.PSPDFKIT}"
135+
const val NUTRIENT = "io.nutrient:nutrient:${Versions.NUTRIENT}"
137136
const val MEDIA3 = "androidx.media3:media3-exoplayer:${Versions.MEDIA3}"
138137
const val MEDIA3_UI = "androidx.media3:media3-ui:${Versions.MEDIA3}"
139138
const val MEDIA3_HLS = "androidx.media3:media3-exoplayer-hls:${Versions.MEDIA3}"
@@ -171,7 +170,7 @@ object Libs {
171170
const val APACHE_COMMONS_TEXT = "org.apache.commons:commons-text:1.12.0"
172171
const val CAMERA_VIEW = "com.otaliastudios:cameraview:2.7.2"
173172

174-
const val PENDO = "sdk.pendo.io:pendoIO:3.6+"
173+
const val PENDO = "sdk.pendo.io:pendoIO:3.7.+"
175174

176175
const val ROOM = "androidx.room:room-runtime:${Versions.ROOM}"
177176
const val ROOM_COMPILER = "androidx.room:room-compiler:${Versions.ROOM}"
@@ -183,19 +182,19 @@ object Libs {
183182
const val RRULE = "org.scala-saddle:google-rfc-2445:20110304"
184183

185184
// Compose
186-
const val COMPOSE_BOM = "androidx.compose:compose-bom:2024.09.02"
185+
const val COMPOSE_BOM = "androidx.compose:compose-bom:2025.09.01"
187186
const val COMPOSE_MATERIAL = "androidx.compose.material:material"
188187
const val COMPOSE_MATERIAL_ICONS = "androidx.compose.material:material-icons-core"
189188
const val COMPOSE_PREVIEW = "androidx.compose.ui:ui-tooling-preview"
190189
const val COMPOSE_TOOLING = "androidx.compose.ui:ui-tooling"
191190
const val COMPOSE_UI = "androidx.compose.ui:ui-android"
192191
const val COMPOSE_UI_TEST = "androidx.compose.ui:ui-test-junit4"
193192
const val COMPOSE_UI_TEST_MANIFEST = "androidx.compose.ui:ui-test-manifest"
194-
const val COMPOSE_MATERIAL_3 = "androidx.compose.material3:material3:1.4.0-alpha12"
193+
const val COMPOSE_MATERIAL_3 = "androidx.compose.material3:material3:1.4.0"
195194
const val COMPOSE_ADAPTIVE = "androidx.compose.material3.adaptive:adaptive"
196195
const val COMPOSE_MATERIAL3_WINDOW_SIZE = "androidx.compose.material3:material3-window-size-class"
197-
const val COMPOSE_NAVIGATION_HILT = "androidx.hilt:hilt-navigation-compose:1.2.0"
198-
const val COMPOSE_FRAGMENT = "androidx.fragment:fragment-compose:1.8.6"
196+
const val COMPOSE_NAVIGATION_HILT = "androidx.hilt:hilt-navigation-compose:1.3.0"
197+
const val COMPOSE_FRAGMENT = "androidx.fragment:fragment-compose:1.8.9"
199198

200199
// Glance
201200
const val GLANCE = "androidx.glance:glance:${Versions.GLANCE}"
@@ -220,4 +219,5 @@ object Plugins {
220219
const val GOOGLE_SERVICES = "com.google.gms:google-services:${Versions.GOOGLE_SERVICES}"
221220
const val JACOCO_ANDROID = "com.dicedmelon.gradle:jacoco-android:${Versions.JACOCO_ANDROID}"
222221
const val HILT = "com.google.dagger:hilt-android-gradle-plugin:${Versions.HILT}"
222+
const val KSP = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:${Versions.KSP}"
223223
}

apps/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ android.enableJetifier=true
33
android.nonFinalResIds=false
44
android.nonTransitiveRClass=false
55
android.useAndroidX=true
6-
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
6+
org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

apps/parent/build.gradle

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ plugins {
1919
id 'com.android.application'
2020
id 'com.google.gms.google-services'
2121
id 'org.jetbrains.kotlin.android'
22-
id 'kotlin-kapt'
22+
id 'kotlin-kapt' // Keep kapt for Data Binding
23+
id 'com.google.devtools.ksp'
2324
id 'com.google.firebase.crashlytics'
2425
id 'dagger.hilt.android.plugin'
2526
id 'org.jetbrains.kotlin.plugin.compose'
@@ -51,15 +52,23 @@ android {
5152
PrivateData.merge(project, "parent")
5253
}
5354

54-
packagingOptions {
55-
exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
56-
exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
57-
exclude 'META-INF/DEPENDENCIES'
58-
exclude 'META-INF/LICENSE'
59-
exclude 'META-INF/LICENSE.txt'
60-
exclude 'META-INF/NOTICE'
61-
exclude 'META-INF/rxjava.properties'
62-
exclude 'LICENSE.txt'
55+
packaging {
56+
resources {
57+
pickFirsts += [
58+
'META-INF/INDEX.LIST',
59+
'META-INF/io.netty.versions.properties'
60+
]
61+
excludes += [
62+
'META-INF/DEPENDENCIES',
63+
'META-INF/LICENSE',
64+
'META-INF/LICENSE.txt',
65+
'META-INF/NOTICE',
66+
'META-INF/NOTICE.txt',
67+
'META-INF/maven/com.google.guava/guava/pom.properties',
68+
'META-INF/maven/com.google.guava/guava/pom.xml',
69+
'META-INF/rxjava.properties'
70+
]
71+
}
6372
}
6473

6574

@@ -194,14 +203,14 @@ dependencies {
194203

195204
/* DI */
196205
implementation Libs.HILT
197-
kapt Libs.HILT_COMPILER
206+
ksp Libs.HILT_COMPILER
198207
implementation Libs.HILT_ANDROIDX_WORK
199-
kapt Libs.HILT_ANDROIDX_COMPILER
208+
ksp Libs.HILT_ANDROIDX_COMPILER
200209
androidTestImplementation Libs.HILT_TESTING
201210

202211
/* ROOM */
203212
implementation Libs.ROOM
204-
kapt Libs.ROOM_COMPILER
213+
ksp Libs.ROOM_COMPILER
205214
implementation Libs.ROOM_COROUTINES
206215

207216
/* Navigation */

apps/parent/proguard-rules.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,4 +254,19 @@
254254
-dontwarn java.beans.SimpleBeanInfo
255255

256256
-keep class androidx.navigation.** { *; }
257-
-keep interface androidx.navigation.** { *; }
257+
-keep interface androidx.navigation.** { *; }
258+
259+
# Netty and BlockHound integration
260+
-dontwarn reactor.blockhound.integration.BlockHoundIntegration
261+
-dontwarn io.netty.util.internal.Hidden$NettyBlockHoundIntegration
262+
-keep class reactor.blockhound.integration.** { *; }
263+
-keep class io.netty.util.internal.Hidden$NettyBlockHoundIntegration { *; }
264+
265+
# Additional Netty keep rules for R8
266+
-dontwarn io.netty.**
267+
-keep class io.netty.** { *; }
268+
-keepclassmembers class io.netty.** { *; }
269+
270+
# BlockHound related classes
271+
-dontwarn reactor.blockhound.**
272+
-keep class reactor.blockhound.** { *; }

apps/parent/src/androidTest/java/com/instructure/parentapp/ui/espresso/TestAppManager.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.instructure.parentapp.ui.espresso
1919

20+
import androidx.work.DefaultWorkerFactory
2021
import androidx.work.WorkerFactory
2122
import com.instructure.pandautils.features.reminder.AlarmScheduler
2223
import com.instructure.parentapp.util.BaseAppManager
@@ -26,7 +27,7 @@ open class TestAppManager : BaseAppManager() {
2627
private var workerFactory: WorkerFactory? = null
2728

2829
override fun getWorkManagerFactory(): WorkerFactory {
29-
return workerFactory ?: WorkerFactory.getDefaultWorkerFactory()
30+
return workerFactory ?: DefaultWorkerFactory
3031
}
3132

3233
override fun getScheduler(): AlarmScheduler? {

apps/settings.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ pluginManagement {
77
}
88
}
99
dependencies {
10-
classpath("com.android.tools:r8:8.2.47")
10+
classpath("com.android.tools:r8:8.13.6")
1111
}
1212
}
1313
}
@@ -29,7 +29,6 @@ include ':pandautils'
2929
include ':rceditor'
3030
include ':recyclerview'
3131
include ':pandares'
32-
include ':DocumentScanner'
3332
include ':horizon'
3433

3534
project(':annotations').projectDir = new File(rootProject.projectDir, '/../libs/annotations')
@@ -43,5 +42,4 @@ project(':pandautils').projectDir = new File(rootProject.projectDir, '/../libs/p
4342
project(':rceditor').projectDir = new File(rootProject.projectDir, '/../libs/rceditor')
4443
project(':recyclerview').projectDir = new File(rootProject.projectDir, '/../libs/recyclerview')
4544
project(':pandares').projectDir = new File(rootProject.projectDir, '/../libs/pandares')
46-
project(':DocumentScanner').projectDir = new File(rootProject.projectDir, '/../libs/DocumentScanner')
4745
project(':horizon').projectDir = new File(rootProject.projectDir, '/../libs/horizon')

0 commit comments

Comments
 (0)