content: # SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
  # SPDX-License-Identifier: AGPL-3.0-or-later
  
  [versions]
  androidCommonLibraryVersion = "0.28.0"
  androidGifDrawableVersion = "1.2.29"
  androidImageCropperVersion = "4.6.0"
  androidsvgVersion = "1.4"
  androidxTestVersion = "1.7.0"
  annotationsVersion = "3.0.1u2"
  annotationVersion = "1.9.1"
  appCompatVersion = "1.7.1"
  bcpkixJdk18onVersion = "1.81"
  cardviewVersion = "1.0.0"
  coilVersion = "2.7.0"
  commonsHttpclient = "3.1"
  commonsIoVersion = "2.20.0"
  conscryptAndroidVersion = "2.5.3"
  constraintlayoutVersion = "2.2.1"
  coreTestingVersion = "2.2.0"
  coreVersion = "0.15.0"
  daggerVersion = "2.57.1"
  dexopenerVersion = "2.0.5"
  disklrucacheVersion = "2.0.2"
  emojiGoogleVersion = "0.21.0"
  espressoVersion = "3.7.0"
  eventbusVersion = "3.3.1"
  exifinterfaceVersion = "1.4.1"
  ezVcardVersion = "0.12.1"
  fbContribVersion = "7.6.14"
  findsecbugsPluginVersion = "1.14.0"
  firebaseMessagingVersion = "25.0.1"
  flexboxVersion = "3.0.0"
  fragmentKtxVersion = "1.8.9"
  glide = "5.0.5"
  gsonVersion = "2.13.2"
  ical4jVersion = "3.2.19"
  jackrabbitWebdavVersion = "2.13.5"
  jsonVersion = "20250517"
  junit = "4.13.2"
  junitVersion = "1.3.0"
  juniversalchardetVersion = "2.5.0"
  legacySupportV4Version = "1.0.0"
  libraryVersion = "1.3.0"
  lifecycleViewmodelKtxVersion = "2.9.4"
  loaderviewlibraryVersion = "3.0.0"
  markwonVersion = "4.6.2"
  materialVersion = "1.13.0"
  media3 = "1.8.0"
  mockitoKotlinVersion = "4.1.0"
  mockitoVersion = "4.11.0"
  mockkVersion = "1.14.5"
  nnioVersion = "0.3.1"
  orchestratorVersion = "1.6.1"
  orgJbundleUtilOsgiWrappedOrgApacheHttpClientVersion = "4.1.2"
  osmdroidAndroidVersion = "6.1.20"
  photoviewVersion = "2.3.0"
  playServicesBaseVersion = "18.8.0"
  prismVersion = "2.0.0"
  qrcodescannerVersion = "0.1.2.4"
  reviewKtxVersion = "2.0.2"
  roomVersion = "2.8.0"
  screengrabVersion = "2.1.1"
  sectionedRecyclerviewVersion = "0.6.1"
  shotVersion = "6.1.0"
  splash-screen = "1.0.1"
  composeBom = "2025.09.00"
  spotbugsGradlePlugin = "6.4.2"
  detektGradlePlugin = "1.23.8"
  spotless = "7.2.1"
  stateless4jVersion = "2.6.0"
  webkitVersion = "1.14.0"
  workRuntime = "2.10.4"
  kotlinxSerializationJson = "1.9.0"
  
  kotlin = "2.2.20"
  ksp = "2.2.20-2.0.3"
  
  [libraries]
  
  # Crypto
  conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscryptAndroidVersion" }
  bcpkix-jdk18on = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bcpkixJdk18onVersion" }
  
  # UI
  appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appCompatVersion" }
  cardview = { module = "androidx.cardview:cardview", version.ref = "cardviewVersion" }
  core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTestVersion" }
  fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragmentKtxVersion" }
  exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "exifinterfaceVersion" }
  webkit = { module = "androidx.webkit:webkit", version.ref = "webkitVersion" }
  splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "splash-screen" }
  sectioned-recyclerview = { module = "com.github.nextcloud-deps:sectioned-recyclerview", version.ref = "sectionedRecyclerviewVersion" }
  legacy-support-v4 = { module = "androidx.legacy:legacy-support-v4", version.ref = "legacySupportV4Version" }
  library = { module = "me.zhanghai.android.fastscroll:library", version.ref = "libraryVersion" }
  loaderviewlibrary = { module = "io.github.elye:loaderviewlibrary", version.ref = "loaderviewlibraryVersion" }
  photoview = { module = "com.github.Baseflow:PhotoView", version.ref = "photoviewVersion" }
  material = { module = "com.google.android.material:material", version.ref = "materialVersion" }
  android-gif-drawable = { module = "pl.droidsonroids.gif:android-gif-drawable", version.ref = "androidGifDrawableVersion" }
  android-image-cropper = { module = "com.vanniktech:android-image-cropper", version.ref = "androidImageCropperVersion" }
  androidsvg = { module = "com.caverock:androidsvg", version.ref = "androidsvgVersion" }
  coil = { module = "io.coil-kt:coil", version.ref = "coilVersion" }
  constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayoutVersion" }
  emoji-google = { module = "com.vanniktech:emoji-google", version.ref = "emojiGoogleVersion" }
  
  # kotlinx
  kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
  
  # Other
  annotation = { module = "androidx.annotation:annotation", version.ref = "annotationVersion" }
  annotations = { module = "com.google.code.findbugs:annotations", version.ref = "annotationsVersion" }
  commons-httpclient-commons-httpclient = { module = "commons-httpclient:commons-httpclient", version.ref = "commonsHttpclient" }
  commons-io = { module = "commons-io:commons-io", version.ref = "commonsIoVersion" }
  dexopener = { module = "com.github.tmurakami:dexopener", version.ref = "dexopenerVersion" }
  disklrucache = { module = "com.jakewharton:disklrucache", version.ref = "disklrucacheVersion" }
  eventbus = { module = "org.greenrobot:eventbus", version.ref = "eventbusVersion" }
  ext-strikethrough = { module = "io.noties.markwon:ext-strikethrough", version.ref = "markwonVersion" }
  ext-tables = { module = "io.noties.markwon:ext-tables", version.ref = "markwonVersion" }
  ext-tasklist = { module = "io.noties.markwon:ext-tasklist", version.ref = "markwonVersion" }
  ez-vcard = { module = "com.googlecode.ez-vcard:ez-vcard", version.ref = "ezVcardVersion" }
  findsecbugs-plugin = { module = "com.h3xstream.findsecbugs:findsecbugs-plugin", version.ref = "findsecbugsPluginVersion" }
  fb-contrib = { module = "com.mebigfatguy.fb-contrib:fb-contrib", version.ref = "fbContribVersion" }
  firebase-messaging = { module = "com.google.firebase:firebase-messaging", version.ref = "firebaseMessagingVersion" }
  flexbox = { module = "com.google.android.flexbox:flexbox", version.ref = "flexboxVersion" }
  gson = { module = "com.google.code.gson:gson", version.ref = "gsonVersion" }
  html = { module = "io.noties.markwon:html", version.ref = "markwonVersion" }
  ical4j = { module = "org.mnode.ical4j:ical4j", version.ref = "ical4jVersion" }
  jackrabbit-webdav = { module = "org.apache.jackrabbit:jackrabbit-webdav", version.ref = "jackrabbitWebdavVersion" }
  json = { module = "org.json:json", version.ref = "jsonVersion" }
  juniversalchardet = { module = "com.github.albfernandez:juniversalchardet", version.ref = "juniversalchardetVersion" }
  kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
  nnio = { module = "org.lukhnos:nnio", version.ref = "nnioVersion" }
  org-jbundle-util-osgi-wrapped-org-apache-http-client = { module = "org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client", version.ref = "orgJbundleUtilOsgiWrappedOrgApacheHttpClientVersion" }
  osmdroid-android = { module = "org.osmdroid:osmdroid-android", version.ref = "osmdroidAndroidVersion" }
  play-services-base = { module = "com.google.android.gms:play-services-base", version.ref = "playServicesBaseVersion" }
  review-ktx = { module = "com.google.android.play:review-ktx", version.ref = "reviewKtxVersion" }
  
  # Mockito
  mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockitoVersion" }
  mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoVersion" }
  mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlinVersion" }
  mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockkVersion" }
  
  # Dagger
  dagger = { module = "com.google.dagger:dagger", version.ref = "daggerVersion" }
  dagger-android = { module = "com.google.dagger:dagger-android", version.ref = "daggerVersion" }
  dagger-android-support = { module = "com.google.dagger:dagger-android-support", version.ref = "daggerVersion" }
  
  # Glide
  glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
  
  # Lifecycle
  lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleViewmodelKtxVersion" }
  lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "lifecycleViewmodelKtxVersion" }
  lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtxVersion" }
  
  # ksp
  ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
  
  # Jetpack Compose
  compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
  compose-ui = { module = "androidx.compose.ui:ui" }
  compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
  compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
  compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
  compose-material3 = { module = "androidx.compose.material3:material3" }
  
  # Media3
  media3-datasource = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
  media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
  media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" }
  media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
  
  # Room
  room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomVersion" }
  room-testing = { module = "androidx.room:room-testing", version.ref = "roomVersion" }
  
  # Espresso
  espresso-accessibility = { module = "androidx.test.espresso:espresso-accessibility", version.ref = "espressoVersion" }
  espresso-contrib = { module = "androidx.test.espresso:espresso-contrib", version.ref = "espressoVersion" }
  espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoVersion" }
  espresso-idling-resource = { module = "androidx.test.espresso:espresso-idling-resource", version.ref = "espressoVersion" }
  espresso-intents = { module = "androidx.test.espresso:espresso-intents", version.ref = "espressoVersion" }
  espresso-web = { module = "androidx.test.espresso:espresso-web", version.ref = "espressoVersion" }
  
  # Test
  junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
  core-testing = { module = "androidx.arch.core:core-testing", version.ref = "coreTestingVersion" }
  orchestrator = { module = "androidx.test:orchestrator", version.ref = "orchestratorVersion" }
  rules = { module = "androidx.test:rules", version.ref = "androidxTestVersion" }
  runner = { module = "androidx.test:runner", version.ref = "androidxTestVersion" }
  test-core = { module = "androidx.test:core", version.ref = "androidxTestVersion" }
  junit-junit = { module = "junit:junit", version.ref = "junit" }
  
  # Screenshot Test
  screengrab = { module = "tools.fastlane:screengrab", version.ref = "screengrabVersion" }
  screenshot-core = { module = "com.facebook.testing.screenshot:core", version.ref = "coreVersion" }
  shot = { module = "com.karumi:shot", version.ref = "shotVersion" }
  
  # Gradle Plugins
  spotbugs-gradle-plugin = { module = "com.github.spotbugs.snom:spotbugs-gradle-plugin", version.ref = "spotbugsGradlePlugin" }
  kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
  detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detektGradlePlugin" }
  
  stateless4j = { module = "com.github.stateless4j:stateless4j", version.ref = "stateless4jVersion" }
  
  # Markwon
  syntax-highlight = { module = "io.noties.markwon:syntax-highlight", version.ref = "markwonVersion" }
  core = { module = "io.noties.markwon:core", version.ref = "markwonVersion" }
  prism4j = { module = "io.noties:prism4j", version.ref = "prismVersion" }
  
  # Nextcloud libraries
  ui = { module = "com.github.nextcloud.android-common:ui", version.ref = "androidCommonLibraryVersion" }
  qrcodescanner = { module = "com.github.nextcloud-deps:qrcodescanner", version.ref = "qrcodescannerVersion" }
  
  # Worker
  work-runtime = { module = "androidx.work:work-runtime", version.ref = "workRuntime" }
  work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntime" }
  
  [plugins]
  kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
  kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
  ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
  kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }