content: [versions]
  agp = "7.2.2"
  androidx-activity = "1.5.1"
  androidx-appcompat = "1.6.0-beta01"
  androidx-arch-core = "2.1.0"
  androidx-fragment = "1.5.2"
  androidx-navigation = "2.5.1"
  androidx-preference = "1.2.0"
  androidx-test = "1.4.0"
  androidx-test-espresso = "3.4.0"
  androidx-work = "2.7.1"
  beagle = "2.7.3"
  bouncycastle = "1.70"
  groupie = "2.10.1"
  # @pin update manually
  kotlin = "1.7.10"
  kotlin-coroutines = "1.6.4"
  mockito = "4.7.0"
  moshi = "1.13.0"
  okhttp3 = "4.10.0"
  play-services = "18.1.0"
  retrofit2 = "2.9.0"
  
  [libraries]
  androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
  androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
  androidx-browser = "androidx.browser:browser:1.4.0"
  androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.1.4"
  androidx-core = "androidx.core:core-ktx:1.8.0"
  androidx-core-splashscreen = "androidx.core:core-splashscreen:1.0.0-beta02"
  androidx-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-arch-core" }
  androidx-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
  androidx-lifecycle-common = "androidx.lifecycle:lifecycle-common:2.5.1"
  androidx-lifecycle-common-java8 = "androidx.lifecycle:lifecycle-common-java8:2.5.1"
  androidx-lifecycle-livedata = "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
  androidx-lifecycle-livedata-core = "androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1"
  androidx-lifecycle-process = "androidx.lifecycle:lifecycle-process:2.5.1"
  androidx-lifecycle-runtime = "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
  androidx-lifecycle-runtime-testing = "androidx.lifecycle:lifecycle-runtime-testing:2.3.1"
  androidx-lifecycle-service = "androidx.lifecycle:lifecycle-service:2.2.0"
  androidx-lifecycle-viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
  androidx-lifecycle-viewmodel-savedstate = "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1"
  androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation" }
  androidx-navigation-testing = { module = "androidx.navigation:navigation-testing", version.ref = "androidx-navigation" }
  androidx-navigation-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation" }
  androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
  androidx-security-crypto = "androidx.security:security-crypto:1.1.0-alpha03"
  androidx-startup-runtime = "androidx.startup:startup-runtime:1.1.1"
  androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test" }
  androidx-test-espresso-contrib = { module = "androidx.test.espresso:espresso-contrib", version.ref = "androidx-test-espresso" }
  androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso" }
  androidx-test-espresso-intents = { module = "androidx.test.espresso:espresso-intents", version.ref = "androidx-test-espresso" }
  androidx-test-junit = "androidx.test.ext:junit:1.1.3"
  androidx-test-uiautomator = "androidx.test.uiautomator:uiautomator:2.2.0"
  androidx-work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
  androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
  bcpkix = { module = "org.bouncycastle:bcpkix-jdk15to18", version.ref = "bouncycastle" }
  bcprov = { module = "org.bouncycastle:bcprov-jdk15to18", version.ref = "bouncycastle" }
  beagle-ui-drawer = { module = "com.github.pandulapeter.beagle:ui-drawer", version.ref = "beagle" }
  # @pin this version, higher versions require a newer (beta/alpha) AGP version
  desugar = "com.android.tools:desugar_jdk_libs:1.1.6"
  disableAnimationsRule = "com.github.blipinsk:disable-animations-rule:2.0.0"
  fastlane-screengrab = "tools.fastlane:screengrab:2.1.1"
  groupie = { module = "com.github.lisawray.groupie:groupie", version.ref = "groupie" }
  groupie-viewbinding = { module = "com.github.lisawray.groupie:groupie-viewbinding", version.ref = "groupie" }
  insetter = "dev.chrisbanes.insetter:insetter:0.6.1"
  junit = "junit:junit:4.13.2"
  junit4AndroidIntegrationRules = "com.vanniktech:junit4-android-integration-rules:0.3.0"
  kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlin-coroutines" }
  kotlin-coroutines-testing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
  lottie = "com.airbnb.android:lottie:5.2.0"
  material = "com.google.android.material:material:1.6.1"
  mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockito" }
  mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
  mockito-kotlin = "org.mockito.kotlin:mockito-kotlin:4.0.0"
  moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
  moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
  moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" }
  moshi-kotlin-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
  okhttp3 = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3" }
  okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp3" }
  okhttp3-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp3" }
  okhttp3-tls = { module = "com.squareup.okhttp3:okhttp-tls", version.ref = "okhttp3" }
  okio = "com.squareup.okio:okio:3.0.0"
  play-core = "com.google.android.play:core:1.10.3"
  play-core-ktx = "com.google.android.play:core-ktx:1.8.1"
  playServices-base = { module = "com.google.android.gms:play-services-base", version.ref = "play-services" }
  playServices-basement = { module = "com.google.android.gms:play-services-basement", version.ref = "play-services" }
  playServices-tasks = "com.google.android.gms:play-services-tasks:18.0.2"
  retrofit2 = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit2" }
  retrofit2-converter-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit2" }
  robolectric = "org.robolectric:robolectric:4.8.2"
  timber = "com.jakewharton.timber:timber:5.0.1"
  tink-android = "com.google.crypto.tink:tink-android:1.5.0"
  
  [bundles]
  espresso = [
      "androidx-test-espresso-contrib",
      "androidx-test-espresso-core",
      "androidx-test-espresso-intents",
  ]
  groupie = [
      "groupie",
      "groupie-viewbinding",
  ]
  play-core = [
      "play-core",
      "play-core-ktx",
  ]
  playServices = [
      "playServices-base",
      "playServices-basement",
      "playServices-tasks",
  ]
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "agp" }
  android-library = { id = "com.android.library", version.ref = "agp" }
  firebase-appdistribution = "com.google.firebase.appdistribution:3.0.3"
  fladle = "com.osacky.fladle:0.17.4"
  kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
  # @pin to kotlin version
  ksp = "com.google.devtools.ksp:1.7.10-1.0.6"
  navigation-safeargs = { id = "androidx.navigation.safeargs.kotlin", version.ref = "androidx-navigation" }
  spotless = "com.diffplug.spotless:6.10.0"
  tripletPlay = "com.github.triplet.play:3.7.0"
  versionCatalog = "nl.littlerobots.version-catalog-update:0.6.1"
  versions = "com.github.ben-manes.versions:0.42.0"
  