content: [versions]
  agp = "8.11.1"
  minSdk = "28"
  targetSdk = "35"
  compileSdk = "35"
  jvmTarget = "17"
  versionCode = "10000"
  versionName = "1.0.0"
  
  junit = "4.13.2"
  junitVersion = "1.3.0"
  espressoCore = "3.7.0"
  androidxLifecycleRuntimeKtx = "2.9.3"
  androidxCoreKtx = "1.16.0"
  androidxDatastore = "1.1.7"
  androidxAppCompat = "1.7.0"
  androidxRoomCompiler = "2.7.1"
  androidxMultidex = "2.0.1"
  
  kotlin = "2.1.21"
  kotlinxImmutable = "0.4.0"
  ksp = "2.1.21-2.0.2"
  kotlinSerialization = "1.9.0"
  kotlinCoroutine = "1.10.2"
  
  activityCompose = "1.10.1"
  composeBom = "2025.07.00"
  lifecycleRuntimeCompose = "2.9.3"
  composeNavigation = "2.9.3"
  kotlinCompilerExtensionVersion = "1.5.2"
  androidxComposeMaterial3 = "1.3.2"
  
  hilt = "2.57"
  hiltManager = "1.2.0"
  javax-inject = "1"
  
  okhttp = "5.1.0"
  retrofit = "3.0.0"
  retrofitJsonConverter = "1.0.0"
  krossbow = "9.3.0"
  coil = "2.7.0"
  timber = "5.0.1"
  kakaoUser = "2.21.7"
  kakaoCommon = "2.20.1"
  googleServices = "4.4.3"
  firebaseBom = "34.0.0"
  firebaseMessagingLifecycleKtx = "0.3.0"
  firebase-config-ktx = "21.6.0"
  phoenix = "3.0.0"
  lottie = "6.6.7"
  browser = "1.8.0"
  semver = "2.0.0"
  mixpanel = "8.2.2"
  
  [libraries]
  ## androidx
  androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCoreKtx" }
  junit = { group = "junit", name = "junit", version.ref = "junit" }
  androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
  androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
  androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidxLifecycleRuntimeKtx" }
  androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
  androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppCompat" }
  androidx-datastore = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "androidxDatastore" }
  androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidxRoomCompiler" }
  androidx-multidex = { group = "androidx.multidex", name = "multidex", version.ref = "androidxMultidex" }
  androidx-browser = { module = "androidx.browser:browser", version.ref = "browser" }
  
  
  ## compose
  compose-foundation = { group = 'androidx.compose.foundation', name = 'foundation' }
  compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
  compose-ui = { group = "androidx.compose.ui", name = "ui" }
  compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
  compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
  compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
  compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
  compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
  compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidxComposeMaterial3" }
  androidx-lifecycle-runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycleRuntimeCompose" }
  androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeCompose" }
  androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "composeNavigation" }
  
  ## kotlin
  kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinSerialization" }
  kotlinx-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinxImmutable" }
  kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test" }
  
  ## coroutine
  coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinCoroutine" }
  coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinCoroutine" }
  coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinCoroutine" }
  
  ## okhttp
  okhttp = { group = "com.squareup.okhttp3", name = "okhttp" }
  okhttp-bom = { group = "com.squareup.okhttp3", name = "okhttp-bom", version.ref = "okhttp" }
  okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }
  okhttp-mockwebserver = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref = "okhttp" }
  
  ## retrofit
  retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
  retrofit2-kotlinx-serialization-converter = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitJsonConverter" }
  
  ## krossbow
  krossbow-stomp-core = { group = "org.hildan.krossbow", name = "krossbow-stomp-core", version.ref = "krossbow" }
  krossbow-websocket-okhttp = { group = "org.hildan.krossbow", name = "krossbow-websocket-okhttp", version.ref = "krossbow" }
  krossbow-stomp-kxserialization = { group = "org.hildan.krossbow", name = "krossbow-stomp-kxserialization-json", version.ref = "krossbow" }
  
  ## hilt
  hilt-core = { group = "com.google.dagger", name = "hilt-core", version.ref = "hilt" }
  hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
  hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" }
  hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt" }
  hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
  androidx-hilt-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "hiltManager" }
  hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hiltManager" }
  javax-inject = { group = "javax.inject", name = "javax.inject", version.ref = "javax-inject" }
  
  ## gradle plugins
  android-gradle = { group = "com.android.tools.build", name = "gradle", version.ref = "agp" }
  kotlin-gradle = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
  compose-compiler-gradle = { group = "org.jetbrains.kotlin", name = "compose-compiler-gradle-plugin", version.ref = "kotlin" }
  
  ## miscellaneous
  coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
  timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
  process-phoenix = { group = "com.jakewharton", name = "process-phoenix", version.ref = "phoenix" }
  lottie-compose = { group = "com.airbnb.android", name = "lottie-compose", version.ref = "lottie" }
  mixpanel = { group = "com.mixpanel.android", name = "mixpanel-android", version.ref = "mixpanel" }
  
  ## firebase
  firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" }
  firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
  firebase-messaging = { module = "com.google.firebase:firebase-messaging" }
  firebase-messaging-lifecycle-ktx = { module = "com.github.skydoves:firebase-messaging-lifecycle-ktx", version.ref = "firebaseMessagingLifecycleKtx" }
  firebase-config-ktx = { group = "com.google.firebase", name = "firebase-config-ktx", version.ref = "firebase-config-ktx" }
  
  ## Kakao
  kakao-v2-user = { group = "com.kakao.sdk", name = "v2-user", version.ref = "kakaoUser" }
  kakao-v2-common = { group = "com.kakao.sdk", name = "v2-common", version.ref = "kakaoCommon" }
  
  ## Semver
  semver = { group = "net.swiftzer.semver", name = "semver", version.ref = "semver" }
  
  [bundles]
  coroutine = [
      "coroutines-core",
      "coroutines-android",
  ]
  
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "agp" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
  hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
  ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
  android-library = { id = "com.android.library", version.ref = "agp" }
  google-services = { id = "com.google.gms.google-services", version.ref = "googleServices" }
  