content: [versions]
  androidxCore = "1.16.0"
  androidxAppcompat = "1.7.1"
  coilCompose = "2.7.0"
  datastore = "1.1.7"
  googleMaterial = "1.12.0"
  androidxConstraintLayout = "2.2.1"
  androidxLifecycle = "2.9.1"
  androidxComposeMaterial3 = "1.3.2"
  androidxNavigation = "2.9.0"
  junit = "4.13.2"
  androidxTestJunit = "1.2.1"
  androidxEspressoCore = "3.6.1"
  daggerHilt = "2.56"
  hiltCommon = "1.2.0"
  hiltNavigationFragment = "1.2.0"
  hiltWork = "1.2.0"
  kotlinxCollectionsImmutable = "0.3.5"
  mockk-mockk = "1.12.0"
  workRuntimeKtx = "2.10.2"
  mockitoCore = "5.7.0"
  mockitoInline = "4.10.0"
  mockitoKotlin = "5.2.1"
  kotlinxCoroutinesTest = "1.7.3"
  androidxCoreTesting = "2.2.0"
  compose = "1.7.8"
  exoplayer = "2.19.1"
  exoplayer3 = "1.0.0"
  lifecycleViewModelCompose = "2.9.1"
  javaxInject = "1"
  composeNavHilt = "1.2.0"
  retrofit = "2.11.0"
  gson = "2.11.0"
  agp = "8.10.1"
  kotlin-gradle = "2.1.10"
  kotlin-kapt = "8.2"
  composeLifecycle = "2.9.1"
  kotlinxSerializationJson = "1.6.0"
  jetbrainsSerialization = "1.9.20"
  turbine = "1.2.0"
  paparazzi = "1.3.1"
  media3Session = "1.7.1"
  googleTruth = "1.4.4"
  navigation3 = "1.0.0-alpha04"
  activityCompose = "1.9.3"
  kover = "0.9.1"
  composeScreenshot = "0.0.1-alpha10"
  toolchain = "0.8.0"
  
  [libraries]
  
  androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" }
  androidxCoreKtx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
  androidxAppcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppcompat" }
  coilCompose = { module = "io.coil-kt:coil-compose", version.ref = "coilCompose" }
  googleMaterial = { module = "com.google.android.material:material", version.ref = "googleMaterial" }
  androidxConstraintLayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidxConstraintLayout" }
  androidxLifecycleLivedataKtx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidxLifecycle" }
  androidxLifecycleViewmodelKtx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
  androidxComposeMaterial3 = { module = "androidx.compose.material3:material3", version.ref = "androidxComposeMaterial3" }
  daggerHiltAndroidCompiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "daggerHilt" }
  androidxNavigationFragmentKtx = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidxNavigation" }
  androidxNavigationUiKtx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidxNavigation" }
  junit = { module = "junit:junit", version.ref = "junit" }
  androidxTestJunit = { module = "androidx.test.ext:junit", version.ref = "androidxTestJunit" }
  androidxEspressoCore = { module = "androidx.test.espresso:espresso-core", version.ref = "androidxEspressoCore" }
  daggerHiltAndroid = { module = "com.google.dagger:hilt-android", version.ref = "daggerHilt" }
  hiltCommon = { module = "androidx.hilt:hilt-common", version.ref = "hiltCommon" }
  hiltNavigationFragment = { module = "androidx.hilt:hilt-navigation-fragment", version.ref = "hiltNavigationFragment" }
  hiltWork = { module = "androidx.hilt:hilt-work", version.ref = "hiltWork" }
  kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinxCollectionsImmutable" }
  mockk-mockk = { module = "io.mockk:mockk", version.ref = "mockk-mockk" }
  workRuntimeKtx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" }
  mockitoCore = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
  mockitoInline = { module = "org.mockito:mockito-inline", version.ref = "mockitoInline" }
  mockitoKotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlin" }
  kotlinxCoroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutinesTest" }
  androidxCoreTesting = { module = "androidx.arch.core:core-testing", version.ref = "androidxCoreTesting" }
  hiltCompiler = { module = "com.google.dagger:hilt-compiler", version.ref = "daggerHilt" }
  composeUi = { module = "androidx.compose.ui:ui", version.ref = "compose" }
  composeUiTooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
  hiltNavigationCompose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "composeNavHilt" }
  composeFoundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" }
  composeMaterial = { module = "androidx.compose.material:material", version.ref = "compose" }
  composeMaterialIconsCore = { module = "androidx.compose.material:material-icons-core", version.ref = "compose" }
  composeMaterialIconsExtended = { module = "androidx.compose.material:material-icons-extended", version.ref = "compose" }
  composeLiveData = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "compose" }
  lifecycleViewModelCompose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleViewModelCompose" }
  composeUiTestJunit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose" }
  exoplayer = { module = "com.google.android.exoplayer:exoplayer", version.ref = "exoplayer" }
  exoplayerMedia = { module = "androidx.media3:media3-ui", version.ref = "exoplayer3" }
  exoplayer3 = { module = "androidx.media3:media3-exoplayer", version.ref = "exoplayer3" }
  javaxInject = { module = "javax.inject:javax.inject", version.ref = "javaxInject" }
  retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
  retrofitConverterGson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
  retrofitGson = { module = "com.google.code.gson:gson", version.ref = "gson" }
  composeLifecycle = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "composeLifecycle" }
  ktxLifecycle = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "composeLifecycle" }
  kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
  turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine" }
  androidx-compose-ui-testManifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
  androidx-media3-session = { group = "androidx.media3", name = "media3-session", version.ref = "media3Session" }
  googleTruth = { module = "com.google.truth:truth", version.ref = "googleTruth" }
  androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "navigation3" }
  androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "navigation3" }
  android-activity = { module = "androidx.activity:activity", version.ref = "activityCompose" }
  android-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
  compose-navigate = { module = "androidx.navigationevent:navigationevent-android", version.ref = "navigation3" }
  screenshot-validation-api = { group = "com.android.tools.screenshot", name = "screenshot-validation-api", version.ref = "composeScreenshot"}
  kover-gradle = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version = "0.9.0" }
  
  [bundles]
  androidxCore = ["androidxCoreKtx",
      "androidxAppcompat",
      "googleMaterial",
      "androidxConstraintLayout",
  ]
  lifecycle = ["androidxLifecycleLivedataKtx",
      "androidxLifecycleViewmodelKtx",
      "ktxLifecycle"]
  navigation = ["androidxNavigationFragmentKtx",
      "androidxNavigationUiKtx"]
  hilt = ["daggerHiltAndroid",
      "hiltCommon",
      "hiltNavigationFragment",
      "hiltWork"]
  hiltKapt = ["daggerHiltAndroidCompiler",
      "hiltCompiler"]
  retrofit = ["retrofit",
      "retrofitConverterGson",
      "retrofitGson"]
  compose = ["androidxComposeMaterial3",
      "composeUi",
      "composeUiTooling",
      "composeFoundation",
      "composeMaterial",
      "composeMaterialIconsCore",
      "composeMaterialIconsExtended",
      "hiltNavigationCompose",
      "composeLifecycle",
      "coilCompose",
      "androidx-navigation3-runtime",
      "androidx-navigation3-ui",
      "android-activity",
      "android-activity-compose", "compose-navigate"]
  testing = ["junit",
      "androidxTestJunit",
      "androidxEspressoCore",
      "mockitoCore",
      "mockitoInline",
      "mockitoKotlin",
      "kotlinxCoroutinesTest",
      "androidxCoreTesting",
      "composeUiTestJunit4",
      "turbine",
      "mockk-mockk",
      "googleTruth"]
  uiTesting = ["composeUiTestJunit4", "androidxEspressoCore", "googleTruth"]
  otherLibraries = ["workRuntimeKtx",
      "exoplayerMedia", "exoplayer3","exoplayer",
      "javaxInject"]
  composeAdditional = [
      "composeLiveData",
      "lifecycleViewModelCompose"]
  datastore = ["androidx-datastore",
      "kotlinx-serialization-json",
      "kotlinx-collections-immutable"]
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "agp" }
  android-library = { id = "com.android.library", version.ref = "agp" }
  hilt = { id = "com.google.dagger.hilt.android", version.ref = "daggerHilt" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin-gradle" }
  kotlin-kapt = { id = "kotlin-kapt", version.ref = "kotlin-kapt" }
  plugin-serializaton = { id = "plugin.serialization", version.ref = "kotlinxSerializationJson" }
  jetbrains-plugin-serializaton = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "jetbrainsSerialization" }
  paparazzi = { id = "app.cash.paparazzi", version.ref = "paparazzi" }
  compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin-gradle" }
  compose-screenshot = { id = "com.android.compose.screenshot", version.ref = "composeScreenshot"}
  toolchains = { id = "org.gradle.toolchains.foojay-resolver-convention", version.ref = "toolchain"}
  kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover"}
  