# Comments apply to next line [versions] android-agp = "8.13.0" android-desugaring = "2.1.5" androidx-activityCompose = "1.11.0" androidx-appcompat = "1.7.1" androidx-arch = "2.2.0" androidx-browser = "1.9.0" androidx-core = "1.17.0" androidx-hilt = "1.3.0" androidx-lifecycle = "2.9.4" androidx-paging = "3.3.6" androidx-preference = "1.2.1" androidx-security = "1.1.0" androidx-test-core = "1.7.0" androidx-test-runner = "1.7.0" androidx-test-rules = "1.7.0" androidx-test-junit = "1.3.0" androidx-work = "2.11.0" bitfire-cert4android = "41009d48ed" bitfire-dav4jvm = "f11523619b" bitfire-synctools = "1a7f70b1a0" compose-accompanist = "0.37.3" compose-bom = "2025.10.01" dnsjava = "3.6.3" glance = "1.1.1" guava = "33.5.0-android" hilt = "2.57.2" # keep in sync with ksp version kotlin = "2.2.21" kotlinx-coroutines = "1.10.2" ksp = "2.3.0" mikepenz-aboutLibraries = "13.1.0" mockk = "1.14.5" okhttp = "5.2.1" openid-appauth = "0.11.1" room = "2.8.3" unifiedpush = "3.1.2" unifiedpush-fcm = "3.0.0" # Other libraries, especially ical4j, require Apache Commons. Some recent versions of Apache # Commons require a newer Java version than our minSdk provides. So we require these strict versions here: #noinspection NewerVersionAvailable commons-codec = { strictly = "1.17.1" } #noinspection NewerVersionAvailable commons-lang = { strictly = "3.15.0" } [libraries] android-desugaring = { module = "com.android.tools:desugar_jdk_libs_nio", version.ref = "android-desugaring" } androidx-activityCompose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" } androidx-arch-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-arch" } androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" } androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" } androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" } androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidx-hilt" } androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" } androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-viewmodel-base = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" } androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-paging = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" } androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidx-paging" } androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" } androidx-security = { module = "androidx.security:security-crypto", version.ref = "androidx-security" } androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core" } androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" } androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test-rules" } androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-junit" } androidx-work-base = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" } androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" } bitfire-cert4android = { module = "com.github.bitfireat:cert4android", version.ref = "bitfire-cert4android" } bitfire-dav4jvm = { module = "com.github.bitfireat:dav4jvm", version.ref = "bitfire-dav4jvm" } bitfire-synctools = { module = "com.github.bitfireat:synctools", version.ref = "bitfire-synctools" } commons-codec = { module = "commons-codec:commons-codec", version.ref = "commons-codec" } commons-lang = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang" } compose-accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "compose-accompanist" } compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } compose-material3 = { group = "androidx.compose.material3", name = "material3" } compose-materialIconsExtended = { module = "androidx.compose.material:material-icons-extended" } compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } compose-ui-toolingPreview = { module = "androidx.compose.ui:ui-tooling-preview" } dnsjava = { module = "dnsjava:dnsjava", version.ref = "dnsjava" } glance-base = { module = "androidx.glance:glance-appwidget", version.ref = "glance" } glance-material = { module = "androidx.glance:glance-material", version.ref = "glance" } guava = { module = "com.google.guava:guava", version.ref = "guava" } hilt-android-base = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" } hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" } junit = { module = "junit:junit", version = "4.13.2" } kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } mikepenz-aboutLibraries-m3 = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "mikepenz-aboutLibraries" } mockk = { module = "io.mockk:mockk", version.ref = "mockk" } mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockk" } okhttp-base = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } okhttp-logging = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" } okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" } openid-appauth = { module = "net.openid:appauth", version.ref = "openid-appauth" } room-base = { module = "androidx.room:room-ktx", version.ref = "room" } room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } room-paging = { module = "androidx.room:room-paging", version.ref = "room" } room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" } room-testing = { module = "androidx.room:room-testing", version.ref = "room" } unifiedpush = { module = "org.unifiedpush.android:connector", version.ref = "unifiedpush" } unifiedpush-fcm = { module = "org.unifiedpush.android:embedded-fcm-distributor", version.ref = "unifiedpush-fcm" } [plugins] android-application = { id = "com.android.application", version.ref = "android-agp" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } mikepenz-aboutLibraries-android = { id = "com.mikepenz.aboutlibraries.plugin.android", version.ref = "mikepenz-aboutLibraries" }