@@ -184,20 +184,15 @@ android {
184184
185185 compileOptions {
186186 isCoreLibraryDesugaringEnabled = true
187- sourceCompatibility = JavaVersion .VERSION_17
188- targetCompatibility = JavaVersion .VERSION_17
187+ sourceCompatibility = JavaVersion .VERSION_21
188+ targetCompatibility = JavaVersion .VERSION_21
189189 }
190190
191191 buildFeatures {
192192 buildConfig = true
193193 viewBinding = true
194194 }
195195
196- kotlinOptions {
197- jvmTarget = JavaVersion .VERSION_17 .toString()
198- freeCompilerArgs + = listOf (" -opt-in=kotlin.RequiresOptIn" )
199- }
200-
201196 packaging {
202197 resources.excludes + = setOf (
203198 " META-INF/DEPENDENCIES" ,
@@ -328,6 +323,20 @@ easylauncher {
328323 }
329324}
330325
326+ java {
327+ toolchain {
328+ languageVersion.set(JavaLanguageVersion .of(21 ))
329+ }
330+ }
331+
332+
333+ kotlin {
334+ compilerOptions {
335+ jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget .JVM_21 )
336+ freeCompilerArgs.add(" -opt-in=kotlin.RequiresOptIn" )
337+ }
338+ }
339+
331340tasks.register(" checkCorrectBranch" ) {
332341 if (! grgit.branch.current().name.equals(" master" )) {
333342 throw GradleException (" Please use 'master' branch to generate a release build" )
@@ -400,9 +409,9 @@ val devDebugImplementation: Configuration by configurations.creating
400409val uiTestsImplementation by configurations.named(" uiTestsImplementation" )
401410
402411dependencies {
403- ksp(" com.github.bumptech.glide:ksp:4.16.0 " )
412+ ksp(" com.github.bumptech.glide:ksp:5.0.5 " )
404413 ksp(" androidx.annotation:annotation:1.9.1" )
405- ksp(" androidx.room:room-compiler:2.7.2 " )
414+ ksp(" androidx.room:room-compiler:2.8.0 " )
406415 // ACRA needs the following dependency to use a custom report sender
407416
408417 ksp(" dev.zacsweers.autoservice:auto-service-ksp:1.2.0" )
@@ -413,34 +422,34 @@ dependencies {
413422 devDebugImplementation(" com.squareup.leakcanary:leakcanary-android:2.14" )
414423 // uiTests is the build type for testing.
415424 // noinspection FragmentGradleConfiguration
416- uiTestsImplementation(" androidx.fragment:fragment-testing:1.8.7 " )
417- uiTestsImplementation(" androidx.test:core-ktx:1.6.1 " )
425+ uiTestsImplementation(" androidx.fragment:fragment-testing:1.8.9 " )
426+ uiTestsImplementation(" androidx.test:core-ktx:1.7.0 " )
418427
419- androidTestImplementation(" androidx.test.espresso:espresso-core:3.6.1 " )
420- androidTestImplementation(" androidx.test.espresso:espresso-contrib:3.6.1 " )
421- androidTestImplementation(" androidx.test.espresso:espresso-intents:3.6.1 " )
422- androidTestImplementation(" androidx.test.espresso:espresso-web:3.6.1 " )
428+ androidTestImplementation(" androidx.test.espresso:espresso-core:3.7.0 " )
429+ androidTestImplementation(" androidx.test.espresso:espresso-contrib:3.7.0 " )
430+ androidTestImplementation(" androidx.test.espresso:espresso-intents:3.7.0 " )
431+ androidTestImplementation(" androidx.test.espresso:espresso-web:3.7.0 " )
423432 androidTestImplementation(" androidx.test.ext:junit:1.3.0" )
424433 androidTestImplementation(" androidx.test:runner:1.7.0" )
425- androidTestImplementation(" androidx.test:rules:1.6.1 " )
434+ androidTestImplementation(" androidx.test:rules:1.7.0 " )
426435 androidTestImplementation(" androidx.test.ext:junit-ktx:1.3.0" )
427436 androidTestImplementation(" androidx.test.uiautomator:uiautomator:2.3.0" )
428- androidTestImplementation(" androidx.room:room-testing:2.7.2 " )
437+ androidTestImplementation(" androidx.room:room-testing:2.8.0 " )
429438 androidTestImplementation(" androidx.arch.core:core-testing:2.2.0" )
430- androidTestImplementation(" androidx.work:work-testing:2.10.3 " )
431- androidTestImplementation(" com.squareup.okhttp3:mockwebserver:4.12 .0" )
432- androidTestImplementation(" com.squareup.okhttp3:okhttp-tls:4.12 .0" )
439+ androidTestImplementation(" androidx.work:work-testing:2.10.4 " )
440+ androidTestImplementation(" com.squareup.okhttp3:mockwebserver:5.1 .0" )
441+ androidTestImplementation(" com.squareup.okhttp3:okhttp-tls:5.1 .0" )
433442 androidTestImplementation(" com.athaydes.rawhttp:rawhttp-core:2.6.0" )
434443 androidTestUtil(" androidx.test:orchestrator:1.6.1" )
435444
436- testImplementation(" com.squareup.okhttp3:mockwebserver:4.12 .0" )
445+ testImplementation(" com.squareup.okhttp3:mockwebserver:5.1 .0" )
437446 testImplementation(" com.flextrade.jfixture:jfixture:2.7.2" )
438447 testImplementation(" com.shazam:shazamcrest:0.11" )
439- testImplementation(" org.robolectric:robolectric:4.14.1 " )
448+ testImplementation(" org.robolectric:robolectric:4.16 " )
440449 // we need it to test Parcelable implementation
441- testImplementation(" org.jetbrains.kotlin:kotlin-reflect:2.2.10 " )
450+ testImplementation(" org.jetbrains.kotlin:kotlin-reflect:2.2.20 " )
442451 testImplementation(" junit:junit:4.13.2" )
443- testImplementation(" androidx.room:room-testing:2.7.2 " )
452+ testImplementation(" androidx.room:room-testing:2.8.0 " )
444453 testImplementation(" io.github.classgraph:classgraph:4.8.181" )
445454
446455 implementation(fileTree(mapOf (" dir" to " libs" , " include" to listOf (" *.jar" ))))
@@ -449,39 +458,39 @@ dependencies {
449458 implementation(" androidx.appcompat:appcompat:1.7.1" )
450459 implementation(" androidx.legacy:legacy-preference-v14:1.0.0" )
451460 implementation(" androidx.cardview:cardview:1.0.0" )
452- implementation(" androidx.browser:browser:1.8 .0" )
461+ implementation(" androidx.browser:browser:1.9 .0" )
453462 implementation(" androidx.recyclerview:recyclerview:1.4.0" )
454463 implementation(" androidx.recyclerview:recyclerview-selection:1.2.0" )
455464 implementation(" androidx.constraintlayout:constraintlayout:2.2.1" )
456- implementation(" androidx.test.espresso:espresso-idling-resource:3.6.1 " )
465+ implementation(" androidx.test.espresso:espresso-idling-resource:3.7.0 " )
457466 implementation(" androidx.lifecycle:lifecycle-extensions:2.2.0" )
458- implementation(" androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2 " )
459- implementation(" androidx.lifecycle:lifecycle-livedata-ktx:2.9.2 " )
460- implementation(" androidx.lifecycle:lifecycle-process:2.9.2 " )
461- implementation(" androidx.lifecycle:lifecycle-runtime-ktx:2.9.2 " )
462- implementation(" androidx.lifecycle:lifecycle-service:2.9.2 " )
463- implementation(" androidx.room:room-runtime:2.7.2 " )
464- implementation(" androidx.room:room-ktx:2.7.2 " )
467+ implementation(" androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4 " )
468+ implementation(" androidx.lifecycle:lifecycle-livedata-ktx:2.9.4 " )
469+ implementation(" androidx.lifecycle:lifecycle-process:2.9.4 " )
470+ implementation(" androidx.lifecycle:lifecycle-runtime-ktx:2.9.4 " )
471+ implementation(" androidx.lifecycle:lifecycle-service:2.9.4 " )
472+ implementation(" androidx.room:room-runtime:2.8.0 " )
473+ implementation(" androidx.room:room-ktx:2.8.0 " )
465474 // we disabled warnings about paging-runtime-ktx because a newer version doesn't fit our needs
466475 // noinspection GradleDependency
467476 implementation(" androidx.paging:paging-runtime-ktx:2.1.2" )
468477 implementation(" androidx.preference:preference-ktx:1.2.1" )
469478 implementation(" androidx.core:core-ktx:1.17.0" )
470479 implementation(" androidx.core:core-splashscreen:1.0.1" )
471- implementation(" androidx.activity:activity-ktx:1.10.1 " )
480+ implementation(" androidx.activity:activity-ktx:1.11.0 " )
472481 implementation(" androidx.fragment:fragment-ktx:1.8.9" )
473- implementation(" androidx.work:work-runtime-ktx:2.10.3 " )
474- implementation(" androidx.navigation:navigation-fragment-ktx:2.9.3 " )
475- implementation(" androidx.navigation:navigation-ui-ktx:2.9.3 " )
476- implementation(" androidx.navigation:navigation-runtime-ktx:2.9.3 " )
477- implementation(" androidx.webkit:webkit:1.13 .0" )
478-
479- implementation(" com.google.android.gms:play-services-base:18.7 .0" )
480- implementation(" com.google.android.gms:play-services-auth:21.3 .0" )
481- implementation(" com.google.android.material:material:1.12 .0" )
482+ implementation(" androidx.work:work-runtime-ktx:2.10.4 " )
483+ implementation(" androidx.navigation:navigation-fragment-ktx:2.9.4 " )
484+ implementation(" androidx.navigation:navigation-ui-ktx:2.9.4 " )
485+ implementation(" androidx.navigation:navigation-runtime-ktx:2.9.4 " )
486+ implementation(" androidx.webkit:webkit:1.14 .0" )
487+
488+ implementation(" com.google.android.gms:play-services-base:18.8 .0" )
489+ implementation(" com.google.android.gms:play-services-auth:21.4 .0" )
490+ implementation(" com.google.android.material:material:1.13 .0" )
482491 implementation(" com.google.android.flexbox:flexbox:3.0.0" )
483- implementation(" com.google.code.gson:gson:2.13.1 " )
484- implementation(" com.google.api-client:google-api-client-android:2.8.0 " )
492+ implementation(" com.google.code.gson:gson:2.13.2 " )
493+ implementation(" com.google.api-client:google-api-client-android:2.8.1 " )
485494 implementation(" com.google.apis:google-api-services-gmail:v1-rev20250630-2.0.0" )
486495 // ACRA needs the following dependency to use a custom report sender
487496 implementation(" com.google.auto.service:auto-service-annotations:1.1.1" )
@@ -490,20 +499,23 @@ dependencies {
490499 implementation(" com.squareup.retrofit2:converter-gson:3.0.0" )
491500 implementation(" com.squareup.retrofit2:converter-scalars:3.0.0" )
492501 implementation(" com.squareup.okio:okio:3.16.0" )
493- implementation(" com.squareup.okhttp3:logging-interceptor:4.12 .0" )
502+ implementation(" com.squareup.okhttp3:logging-interceptor:5.1 .0" )
494503
495- implementation(" com.github.bumptech.glide:glide:4.16.0 " )
504+ implementation(" com.github.bumptech.glide:glide:5.0.5 " )
496505 implementation(" com.nulab-inc:zxcvbn:1.9.0" )
497506 implementation(" com.burhanrashid52:photoeditor:3.0.2" )
498507 implementation(" com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20240325.1" )
499508 implementation(" com.sandinh:zbase32-commons-codec_2.12:1.0.0" )
500509 implementation(" org.bitbucket.b_c:jose4j:0.9.6" )
501- implementation(" org.jsoup:jsoup:1.21.1 " )
510+ implementation(" org.jsoup:jsoup:1.21.2 " )
502511 implementation(" org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2" )
512+ // kotlinx-serialization-core added to fix runtime issue with dependencies conflict.
513+ // Maybe it will be removed in future.
514+ implementation(" org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0" )
503515 implementation(" org.pgpainless:pgpainless-core:1.7.6" )
504516 implementation(" org.eclipse.angus:angus-mail:2.0.4" )
505517 implementation(" org.eclipse.angus:gimap:2.0.4" )
506- implementation(" commons-io:commons-io:2.19 .0" )
518+ implementation(" commons-io:commons-io:2.20 .0" )
507519 implementation(" net.openid:appauth:0.11.1" )
508520 implementation(" ch.acra:acra-http:5.12.0" )
509521 implementation(" io.github.everythingme:overscroll-decor-android:1.1.1" )
0 commit comments