content: [versions]
  gradle-maven-publish-plugin = "0.29.0"
  kotlin = "2.1.0"
  # kotlinx
  coroutines = "1.9.0" # https://github.com/Kotlin/kotlinx.coroutines/releases
  serialization = "1.7.3" # https://github.com/Kotlin/kotlinx.serialization/releases
  datetime = "0.6.1" # https://github.com/Kotlin/kotlinx-datetime/releases
  atomicfu = "0.26.1" # https://github.com/Kotlin/kotlinx-atomicfu/releases
  kotlinx-io = "0.6.0" # https://github.com/Kotlin/kotlinx-io/releases
  kotlinx-collections-immutable = "0.3.8" # https://github.com/Kotlin/kotlinx.collections.immutable/releases
  #
  jna = "5.13.0" # 不要轻易改这个版本, 它可能导致 VLC 兼容性问题
  
  android-gradle-plugin = "8.5.2"
  androidx-annotation = "1.9.1"
  androidx-media3 = "1.4.1"
  androidx-lifecycle = "2.8.7"
  
  junit4 = "4.13.2"
  
  mockito = "5.12.0"
  mockito-kotlin = "5.4.0"
  
  # Compose
  # https://developer.android.com/jetpack/androidx/releases/compose-material3
  compose-material3 = "1.3.1"
  jetpack-compose = "1.7.6"
  # https://github.com/JetBrains/compose-multiplatform/releases
  # https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html#use-a-developer-version-of-compose-multiplatform-compiler
  compose-multiplatform = "1.7.1"
  compose-lifecycle = "2.8.4"
  compose-navigation = "2.8.0-alpha10"
  compose-material3-adaptive = "1.0.1"
  
  # https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/compiler/compiler/
  #compose-multiplatform-compiler = "1.5.11-kt-2.0.0-RC1" # used by buildscript, don't remove
  stately-common = "2.0.7"
  vlcj = "4.8.2"
  
  
  [plugins]
  kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
  kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  kotlin-plugin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  kotlinx-atomicfu = { id = "org.jetbrains.kotlinx.atomicfu", version.ref = "atomicfu" }
  compose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
  android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
  android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
  vanniktech-mavenPublish = { id = "com.vanniktech.maven.publish", version = "0.29.0" }
  
  [libraries]
  # Build
  android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "android-gradle-plugin" }
  android-library-gradle-plugin = { module = "com.android.library:com.android.library.gradle.plugin", version.ref = "android-gradle-plugin" }
  android-application-gradle-plugin = { module = "com.android.application:com.android.application.gradle.plugin", version.ref = "android-gradle-plugin" }
  
  gradle-maven-publish-plugin = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "gradle-maven-publish-plugin" }
  junit = { module = "junit:junit", version.ref = "junit4" }
  
  kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
  atomicfu-gradle-plugin = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "atomicfu" }
  compose-multiplatfrom-gradle-plugin = { module = "org.jetbrains.compose:org.jetbrains.compose.gradle.plugin", version.ref = "compose-multiplatform" }
  kotlin-compose-compiler-gradle-plugin = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin" }
  #compose-multiplatfrom-compiler-plugin = { module = "org.jetbrains.compose:org.jetbrains.compose.compiler", version.ref = "compose-multiplatform-compiler" }
  
  # Kotlinx
  kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinx-io" }
  kotlinx-io-bytestring = { module = "org.jetbrains.kotlinx:kotlinx-io-bytestring", version.ref = "kotlinx-io" }
  kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
  kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
  kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
  kotlinx-coroutines-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug", version.ref = "coroutines" }
  kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
  kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" }
  kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" }
  kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "serialization" }
  kotlinx-serialization-json-io = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json-io", version.ref = "serialization" }
  kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinx-collections-immutable" }
  kotlinx-atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" }
  #kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "serialization" }
  
  jetbrains-annotations = { module = "org.jetbrains:annotations", version = "23.0.0" }
  
  stately-common = { module = "co.touchlab:stately-common", version.ref = "stately-common" }
  
  # VLC
  # NOTE: YOU WILL NEVER WANT TO CHANGE VLCJ AND JNA VERSIONS.
  # ONLY VLC 3.0.18 IS SUPPORTED.
  vlcj = { module = "uk.co.caprica:vlcj", version.ref = "vlcj" }
  vlcj-javafx = { module = "uk.co.caprica:vlcj-javafx", version = "1.2.0" }
  jna = { module = "net.java.dev.jna:jna", version.ref = "jna" }
  jna-platform = { module = "net.java.dev.jna:jna-platform", version.ref = "jna" }
  