# Comments apply to next line

[versions]
android-agp = "8.12.0"
android-desugaring = "2.1.5"
androidx-activityCompose = "1.10.1"
androidx-appcompat = "1.7.1"
androidx-arch = "2.2.0"
androidx-browser = "1.9.0"
androidx-core = "1.16.0"
androidx-hilt = "1.2.0"
androidx-lifecycle = "2.9.2"
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.10.3"
bitfire-cert4android = "41009d48ed"
bitfire-dav4jvm = "e22831fc52"
bitfire-synctools = "b59ceecd96"
compose-accompanist = "0.37.3"
compose-bom = "2025.07.00"
dnsjava = "3.6.3"
glance = "1.1.1"
guava = "33.4.8-android"
hilt = "2.57"
# keep in sync with ksp version
kotlin = "2.2.0"
kotlinx-coroutines = "1.10.2"
# see https://github.com/google/ksp/releases for version numbers
ksp = "2.2.0-2.0.2"
mikepenz-aboutLibraries = "12.2.4"
mockk = "1.14.5"
okhttp = "5.1.0"
openid-appauth = "0.11.1"
room = "2.7.2"
unifiedpush = "3.0.10"
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 = { 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 = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "mikepenz-aboutLibraries" }
