libs.versions.toml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. [versions]
  2. agp = "8.10.1"
  3. activityKtx = "1.10.1"
  4. android-compileSdk = "35"
  5. android-minSdk = "34"
  6. android-targetSdk = "34"
  7. androidx-activityCompose = "1.10.1"
  8. androidx-appcompat = "1.7.0"
  9. androidx-constraintlayout = "2.2.1"
  10. androidx-lifecycle = "2.9.1"
  11. androidx-material = "1.12.0"
  12. # https://plugins.gradle.org/plugin/org.jetbrains.compose
  13. compose-plugin = "1.7.3"
  14. uiToolingPreview = "1.9.0-alpha02"
  15. junit = "4.13.2"
  16. # https://central.sonatype.com/artifact/io.insert-koin/koin-test-junit4/versions
  17. koinTestJunit4 = "4.1.0"
  18. kotlin = "2.1.20"
  19. # https://touchlab.co/understanding-and-configuring-your-kmm-test-suite
  20. androidx-core-ktx = "1.15.0"
  21. espresso = "3.6.1"
  22. junitKtx = "1.2.1"
  23. # https://github.com/Kotlin/kotlinx.serialization/releases
  24. kotlinx-serialization = "1.8.0"
  25. # https://github.com/touchlab/Kermit/releases
  26. kermit = "2.0.4"
  27. # https://github.com/Kotlin/kotlinx-datetime/releases
  28. kotlinx-datetime = "0.6.0"
  29. # https://github.com/Kotlin/kotlinx.coroutines/releases
  30. kotlinCoroutines = "1.10.1"
  31. # https://github.com/benasher44/uuid/releases/tag/0.8.4
  32. uuid = "0.8.4"
  33. # https://ktor.io/changelog/
  34. ktor = "3.2.0"
  35. # https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html
  36. navigationCompose = "2.9.0-beta03"
  37. lifecycleViewModel = "2.8.7"
  38. # https://insert-koin.io/docs/setup/koin/
  39. koin = "4.1.0-Beta5"
  40. koinComposeMultiplatform = "4.1.0-Beta5"
  41. # https://github.com/JuulLabs/kable/releases
  42. kableCore = "0.34.0"
  43. khronicle = "0.5.1"
  44. # https://mvnrepository.com/artifact/androidx.datastore/datastore-core
  45. dataStore = "1.1.4"
  46. datastorePreferencesCoreJvm = "1.1.1"
  47. # https://github.com/google/protobuf-gradle-plugin?tab=readme-ov-file#latest-version
  48. googleProtobuf = "0.9.4"
  49. # https://github.com/z4kn4fein/kotlin-semver/releases/tag/2.0.0
  50. version = "3.0.0"
  51. # https://github.com/coil-kt/coil/releases
  52. coil3 = "3.0.0-alpha06"
  53. # https://developer.android.com/jetpack/androidx/releases/media3
  54. exoplayer = "1.6.0"
  55. # https://kotlinlang.org/docs/ksp-quickstart.html
  56. ksp = "2.1.20-1.0.32"
  57. # https://developer.android.com/jetpack/androidx/releases/sqlite
  58. sqlite = "2.5.0-rc03"
  59. # https://developer.android.com/jetpack/androidx/releases/room
  60. androidx-room = "2.7.0-rc03"
  61. coreKtx = "1.6.1" # This was breaking room gradle task on newer versions.
  62. # https://mvnrepository.com/artifact/org.videolan.android/libvlc-all
  63. vlc = "3.6.1"
  64. # https://github.com/Kotlin/dokka/releases/tag/v1.9.20
  65. dokka = "2.0.0"
  66. # https://central.sonatype.com/artifact/org.mockito/mockito-core
  67. mockito = "5.18.0"
  68. # https://github.com/jaredsburrows/gradle-license-plugin/releases/tag/0.9.8
  69. license = '0.9.8'
  70. # https://github.com/streem/pbandk/releases/tag/v0.16.0
  71. pbandk = "0.16.0"
  72. # https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.30.0
  73. publish = "0.33.0"
  74. # https://github.com/cortinico/ktfmt-gradle/releases/
  75. format = "0.23.0"
  76. # Our SDK version
  77. ogpSdk = "0.1.0"
  78. [libraries]
  79. androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityKtx" }
  80. androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
  81. androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" }
  82. androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
  83. androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
  84. androidx-lifecycle-viewmodel = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
  85. androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
  86. # Common unit testing
  87. kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
  88. kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
  89. androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
  90. mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
  91. # Android instrumented testing
  92. androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
  93. androidx-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "junitKtx" }
  94. androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitKtx" }
  95. junit = { group = "junit", name = "junit", version.ref = "junit" }
  96. mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockito" }
  97. koin-test-junit4 = { module = "io.insert-koin:koin-test-junit4", version.ref = "koinTestJunit4" }
  98. # JSON Serialization
  99. kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
  100. # Logging
  101. kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }
  102. # Date and Time
  103. kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }
  104. # Coroutines
  105. kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines" }
  106. kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutines" }
  107. kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinCoroutines" }
  108. kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinCoroutines" }
  109. # UUID Base type
  110. ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "uiToolingPreview" }
  111. uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
  112. ## Http Stack
  113. ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
  114. ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
  115. ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }
  116. ktor-client-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
  117. ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
  118. ktor-client-auth = { module = "io.ktor:ktor-client-auth", version.ref = "ktor" }
  119. ktor-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
  120. ktor-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" }
  121. # Navigation
  122. navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
  123. # Shared Presenter logic
  124. lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel", version.ref = "lifecycleViewModel" }
  125. # DI
  126. koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
  127. koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }
  128. koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
  129. koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koinComposeMultiplatform" }
  130. koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koinComposeMultiplatform" }
  131. koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin" }
  132. # Bluetooth
  133. kable-core = { module = "com.juul.kable:kable-core", version.ref = "kableCore" }
  134. kable-exceptions = { module = "com.juul.kable:kable-exceptions", version.ref = "kableCore" }
  135. khronicle = { module = "com.juul.khronicle:khronicle-core", version.ref = "khronicle" }
  136. # Datastore
  137. datastore = { module = "androidx.datastore:datastore", version.ref = "dataStore" }
  138. datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "dataStore" }
  139. # Version Data Strcuture
  140. version = { module = "io.github.z4kn4fein:semver", version.ref = "version" }
  141. # Coil
  142. coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil3" }
  143. coil-compose-core = { module = "io.coil-kt.coil3:coil-compose-core", version.ref = "coil3" }
  144. coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor", version.ref = "coil3" }
  145. coil-mp = { module = "io.coil-kt.coil3:coil", version.ref = "coil3" }
  146. # Exoplayer
  147. exoplayer-base = { module = "androidx.media3:media3-exoplayer", version.ref = "exoplayer" }
  148. exoplayer-rtsp = { module = "androidx.media3:media3-exoplayer-rtsp", version.ref = "exoplayer" }
  149. exoplayer-ui = { module = "androidx.media3:media3-ui", version.ref = "exoplayer" }
  150. # Room
  151. androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidx-room" }
  152. androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "androidx-room" }
  153. sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" }
  154. core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "coreKtx" }
  155. # VLC
  156. libvlc-all = { module = "org.videolan.android:libvlc-all", version.ref = "vlc" }
  157. # Protobuf
  158. pbandk-runtime = { module = "pro.streem.pbandk:pbandk-runtime", version.ref = "pbandk" }
  159. # Local OGP libarary for simplified app testing
  160. openGopro = { module = "io.github.tcamise-gpsw:open-gopro", version.ref = "ogpSdk"}
  161. # Documentation
  162. dokka-base = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokka" }
  163. [plugins]
  164. androidApplication = { id = "com.android.application", version.ref = "agp" }
  165. androidLibrary = { id = "com.android.library", version.ref = "agp" }
  166. jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
  167. compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  168. kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
  169. serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  170. protobuf = { id = "com.google.protobuf", version.ref = "googleProtobuf" }
  171. ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
  172. room = { id = "androidx.room", version.ref = "androidx-room" }
  173. dokka = { id= "org.jetbrains.dokka", version.ref = "dokka"}
  174. license = { id = "com.jaredsburrows.license", version.ref= "license"}
  175. publish = { id = "com.vanniktech.maven.publish", version.ref = "publish"}
  176. format = { id = "com.ncorti.ktfmt.gradle", version.ref = "format"}