content: [versions]
  # App
  app-version-code = "11"
  app-version-name = "0.1.0-alpha-11"
  sdk-min = "29"
  sdk-target = "36"
  sdk-compile = "36"
  
  app-database-version = "1"
  app-database-name = "closetalk.db"
  
  # Plugins
  android-gradle = "8.13.0"
  kotlin = "2.2.20"
  ksp = "2.2.20-2.0.3"
  kotlin-coroutines = "1.10.2"
  kotlin-serialization = "1.4.1"
  google-services = "4.4.3"
  plugin-crashlytics = "3.0.6"
  plugin-performance = "2.0.1"
  plugin-protobuf = "0.9.5"
  module-graph = "0.12.1"
  
  
  # Libs
  android-core-ktx = "1.17.0"
  activity = "1.11.0"
  navigation = "2.9.5"
  retrofit = "2.9.0"
  room = "2.8.1"
  lifecycle = "2.9.4"
  compose-bom = "2025.09.01"
  
  coil = "2.7.0"
  material3 = "1.4.0"
  material-icons-extended = "1.7.8"
  koin = "4.1.1"
  data-store = "1.1.7"
  protobuf = "4.26.1" # keep 4.26.1 version , otherwise there is a duplicated classes in Firebase Firestore
  koin-compose = "4.1.1"
  coroutines-android = "1.10.2"
  workmanager = "2.10.5"
  inapp-update = "2.1.0"
  splash-screen = "1.1.0-rc01"
  
  # Firebase
  firebase-bom = "34.3.0"
  
  # test libraries
  test-junit = "4.13.2"
  test-mockk = "1.14.5"
  test-coroutines-flow = "1.2.1"
  
  # android test libraries
  test-android-runner = "1.7.0"
  espresso-core = "3.7.0"
  robolectric = "4.16"
  
  # 3rd party libs
  lottie = "6.6.9"
  desugaring = "2.1.5"
  
  [plugins]
  
  android-application = { id = "com.android.application", version.ref = "android-gradle" }
  android-library = { id = "com.android.library", version.ref = "android-gradle" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
  kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
  kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
  google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
  crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "plugin-crashlytics" }
  performance-monitor = { id = "com.google.firebase.firebase-perf", version.ref = "plugin-performance" }
  compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } # Compose Compiler plugin was added in Kotlin 2.0
  google-protobuf = { id = "com.google.protobuf", version.ref = "plugin-protobuf" }
  module-graph = { id = "dev.iurysouza.modulegraph", version.ref = "module-graph" }
  
  [libraries]
  
  androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "android-core-ktx" }
  activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" }
  activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" }
  lyfecycle-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }
  lyfecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
  lyfecycle-runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycle" }
  navigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" }
  coil = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
  kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
  gradle = { module = "com.android.tools.build:gradle", version.ref = "android-gradle" }
  gradle-api = { module = "com.android.tools.build:gradle-api", version.ref = "android-gradle" }
  data-store = { module = "androidx.datastore:datastore-preferences", version.ref = "data-store" }
  protobuf-kotlin = { module = "com.google.protobuf:protobuf-kotlin-lite", version.ref = "protobuf" }
  coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines-android" }
  workmanager = { module = "androidx.work:work-runtime-ktx", version.ref = "workmanager" }
  desugaring = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugaring" }
  inapp-update = { module = "com.google.android.play:app-update", version.ref = "inapp-update" }
  inapp-update-ext = { module = "com.google.android.play:app-update-ktx", version.ref = "inapp-update" }
  splash-screen = { module = "androidx.core:core-splashscreen", version.ref = "splash-screen" }
  
  # Compose
  compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
  compose-ui = { group = "androidx.compose.ui", name = "ui" }
  compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
  compose-ui-animation = { group = "androidx.compose.animation", name = "animation" }
  compose-ui-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
  compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
  compose-ui-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
  compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3" }
  material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "material-icons-extended" }
  compose-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
  
  # test libraries
  test-junit = { module = "junit:junit", version.ref = "test-junit" }
  test-kotlin = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
  test-kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
  test-mockk = { module = "io.mockk:mockk", version.ref = "test-mockk" }
  test-coroutines-flow = { module = "app.cash.turbine:turbine", version.ref = "test-coroutines-flow" }
  
  # Android test libraries
  test-android-compose = { group = "androidx.compose.ui", name = "ui-test-junit4" }
  test-android-runner = { module = "androidx.test:runner", version.ref = "test-android-runner" }
  espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
  robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
  
  #3rd party libs
  lottie = { module = "com.airbnb.android:lottie-compose", version.ref = "lottie" }
  
  # Koin for dependency injection
  koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
  koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
  koin-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin-compose" }
  koin-compose-navigation = { module = "io.insert-koin:koin-androidx-compose-navigation", version.ref = "koin-compose" }
  koin-workmanager = { module = "io.insert-koin:koin-androidx-workmanager", version.ref = "koin" }
  koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin" }
  koin-test-junit = { module = "io.insert-koin:koin-test-junit4", version.ref = "koin" }
  
  room = { module = "androidx.room:room-runtime", version.ref = "room" }
  room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
  room-ktx = { module = "androidx.room:room-ktx", version = "room" }
  
  # Firebase
  firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase-bom" }
  firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" }
  firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
  firebase-performance = { module = "com.google.firebase:firebase-perf" }
  firebase-messaging = { module = "com.google.firebase:firebase-messaging" }
  firebase-firestore = { module = "com.google.firebase:firebase-firestore" }
  
  
  [bundles]
  compose = [
      "compose-ui",
      "compose-ui-graphics",
      "compose-ui-animation",
      "compose-ui-preview",
      "compose-material3",
      "activity-compose",
      "compose-ui-util",
      "material-icons-extended"
  ]
  
  compose-debug = [
      "compose-ui-tooling",
      "compose-ui-manifest"
  ]
  
  lifecycle = [
      "lyfecycle-compose",
      "lyfecycle-runtime",
      "lyfecycle-runtime-compose"
  ]
  
  test-common = [
      "test-junit",
      "test-kotlin",
      "test-kotlin-coroutines",
      "test-mockk",
      "test-coroutines-flow",
      "robolectric"
  ]
  
  test-android = [
      "test-android-compose",
      "test-android-runner"
  ]
  
  koin = [
      "koin-core",
      "koin-android",
      "koin-compose",
      "koin-compose-navigation"
  ]
  
  test-koin = [
      "koin-test",
      "koin-test-junit"
  ]