libs.versions.toml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. ####################################################################################################
  2. [versions]
  3. ### app specific desktop ###########################################################################
  4. app-copyright = "(C) 2025 milan jurkulak mj@mjdev.org"
  5. app-category = "Desktop"
  6. app-description = "mjdev desktop environment"
  7. app-maintainer = "mj@mjdev.org<Milan Jurkulak>"
  8. app-menu-group = "Desktop"
  9. app-name = "mjdev-desktop"
  10. app-pkg-name = "org.mjdev.desktop"
  11. app-pkg-version = "1.0.3"
  12. app-vendor = "mjdev"
  13. # wayland runtime stack the compositor (mjdevc) needs at runtime — single source of truth for the
  14. # deb Depends, the installDesktop apt step and make-iso.sh. Space-separated (shell-friendly); the
  15. # deb packaging joins it with ", ". A clean/GNOME box lacks these (GNOME uses mutter, not wlroots),
  16. # so without them mjdevc fails to load (libwlroots-0.18.so missing) and the session black-screens.
  17. app-compositor-runtime-deps = "libwlroots-0.18 xwayland libegl1 libgles2 libgbm1 libinput10 libseat1 libxkbcommon0 libgl1-mesa-dri dbus dbus-user-session"
  18. # Optional backdrop blur for compositor windows (https://github.com/wlrfx/scenefx). pkg-config names
  19. # tried in order, the first installed one is used (scenefx 0.2 targets wlroots 0.18). When none is
  20. # installed mjdevc builds without blur exactly as before; the shell asks for blur per window via the
  21. # "blur" title flag and the compositor then logs/ignores it.
  22. app-compositor-scenefx-packages = "scenefx-0.2 scenefx-0.3 scenefx"
  23. # Seconds apt-get waits for the dpkg lock (/var/lib/dpkg/lock-frontend) instead of failing
  24. # immediately when another apt/dpkg process holds it (unattended-upgrades, a parallel build, …).
  25. # Consumed by installDesktop/installSession (compositor.gradle.kts) and make-iso.sh.
  26. app-apt-lock-timeout = "600"
  27. java-language-version = "17"
  28. # app specific android
  29. android-compile-sdk = "36"
  30. android-min-sdk = "26"
  31. android-target-sdk = "36"
  32. ### custom versions ################################################################################
  33. vlc-version = "3.0.21-2"
  34. vlc-dir = "shared/src/commonMain/resources/vlc/"
  35. ### lib versions ###################################################################################
  36. gradle = "9.0.1"
  37. #gradle-kotlinter = "4.3.0"
  38. androidx-activity-compose = "1.10.1"
  39. androidx-lifecycle = "2.9.1"
  40. androidx-ui-tooling = "1.8.3"
  41. androidx-compose-remote = "1.0.0-alpha12"
  42. app-icon = "1.2.6"
  43. coil = "3.2.0"
  44. compose-plugin = "1.10.0"
  45. # CMP artifacts with decoupled versioning (what the deprecated compose.* accessors resolve to)
  46. compose-material3 = "1.9.0-beta03"
  47. compose-material-icons = "1.7.3"
  48. core-splash-screen = "1.0.1"
  49. generative-ai = "0.9.0-1.1.0"
  50. gettext-lib = "1.11.0"
  51. charts = "1.1.0"
  52. human-readable = "1.12.0"
  53. #i18n4k-core = "0.9.0"
  54. ini4j = "0.5.4"
  55. jetlime = "3.0.1"
  56. kotlin = "2.2.10"
  57. kotlinx-coroutines = "1.10.2"
  58. kotlinx-date-time = "0.7.1"
  59. #logback = "1.5.7"
  60. okhttp3 = "5.1.0"
  61. okio = "3.15.0"
  62. qrose = "1.0.1"
  63. tts = "3.0.0"
  64. ychat = "1.4.1"
  65. alert-kmp = "2.0.0"
  66. #emoji2 = "1.5.0"
  67. accompanist-permissions = "0.37.3"
  68. kover = "0.9.1"
  69. qodana = "2025.1.1"
  70. intelliJPlatform = "2.6.0"
  71. changelog = "2.2.1"
  72. gradle-ktlint = "13.0.0"
  73. #foojay-resolver-convention="0.9.0"
  74. manes-versions = "0.52.0"
  75. coreKtx = "1.16.0"
  76. junit = "4.13.2"
  77. junitVersion = "1.2.1"
  78. espressoCore = "3.6.1"
  79. appcompat = "1.7.1"
  80. material = "1.12.0"
  81. #devtools-ksp = "2.1.21-2.0.1"
  82. vlc-setup = "0.1.0"
  83. vlcj = "4.11.0"
  84. jna = "5.17.0"
  85. image-comparison = "4.4.0"
  86. haze = "1.6.8"
  87. kotlinx-serialization-json = "1.9.0"
  88. ktor = "3.2.2"
  89. flock = "0.1.0"
  90. markwon = "4.6.2"
  91. # pinned jitpack commit (= master HEAD). "-SNAPSHOT" made this a changing module that
  92. # gradle re-checked/re-downloaded on every cache expiry — the one dep busting the build cache.
  93. html2text = "3330c21f8d"
  94. napier = "2.7.1"
  95. cryptography = "0.5.0"
  96. ### libs ###########################################################################################
  97. [libraries]
  98. ####################################################################################################
  99. # gradle
  100. gradle = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
  101. gradle-api = { module = "com.android.tools.build:gradle-api", version.ref = "gradle" }
  102. gradle-kotlin-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
  103. #gradle-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version.ref = "gradle-kotlinter" }
  104. # compose multiplatform artifacts for the android-only module — the compose.* DSL accessors
  105. # are deprecated in plain android modules ("Specify dependency directly"), so androidApp
  106. # declares the same coordinates the accessors resolved to, versioned here.
  107. compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-plugin" }
  108. compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose-plugin" }
  109. compose-material = { module = "org.jetbrains.compose.material:material", version.ref = "compose-plugin" }
  110. compose-animation = { module = "org.jetbrains.compose.animation:animation", version.ref = "compose-plugin" }
  111. compose-animation-graphics = { module = "org.jetbrains.compose.animation:animation-graphics", version.ref = "compose-plugin" }
  112. compose-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "compose-plugin" }
  113. compose-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "compose-plugin" }
  114. compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose-material3" }
  115. compose-material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "compose-material-icons" }
  116. compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose-plugin" }
  117. compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose-plugin" }
  118. compose-components-ui-tooling-preview = { module = "org.jetbrains.compose.components:components-ui-tooling-preview", version.ref = "compose-plugin" }
  119. # androidx
  120. androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" }
  121. androidx-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
  122. androidx-lifecycle-runtime-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
  123. androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidx-ui-tooling" }
  124. androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "core-splash-screen" }
  125. androidx-compose-remote-core = { module = "androidx.compose.remote:remote-core", version.ref = "androidx-compose-remote" }
  126. androidx-compose-remote-creation = { module = "androidx.compose.remote:remote-creation", version.ref = "androidx-compose-remote" }
  127. androidx-compose-remote-creation-core = { module = "androidx.compose.remote:remote-creation-core", version.ref = "androidx-compose-remote" }
  128. androidx-compose-remote-creation-android = { module = "androidx.compose.remote:remote-creation-android", version.ref = "androidx-compose-remote" }
  129. androidx-compose-remote-creation-jvm = { module = "androidx.compose.remote:remote-creation-jvm", version.ref = "androidx-compose-remote" }
  130. androidx-compose-remote-creation-compose = { module = "androidx.compose.remote:remote-creation-compose", version.ref = "androidx-compose-remote" }
  131. androidx-compose-remote-player-core = { module = "androidx.compose.remote:remote-player-core", version.ref = "androidx-compose-remote" }
  132. androidx-compose-remote-player-view = { module = "androidx.compose.remote:remote-player-view", version.ref = "androidx-compose-remote" }
  133. # timeline
  134. jetlime = { module = "io.github.pushpalroy:jetlime", version.ref = "jetlime" }
  135. # translations
  136. gettext-lib = { module = "org.mini2Dx:gettext-lib", version.ref = "gettext-lib" }
  137. # io
  138. okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
  139. # chat
  140. ychat = { module = "co.yml:ychat", version.ref = "ychat" }
  141. # json
  142. #google-gson = { module = "com.google.code.gson:gson", version.ref = "google-gson" }
  143. # locale
  144. #i18n4k = { module = "de.comahe.i18n4k:i18n4k-core", version.ref = "i18n4k-core" }
  145. # date time
  146. kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-date-time" }
  147. # json
  148. kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" }
  149. # okhttp
  150. okhttp3-client = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3" }
  151. # coil
  152. coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
  153. coil-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
  154. coil-svg = { module = "io.coil-kt.coil3:coil-svg", version.ref = "coil" }
  155. coil-mp = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
  156. # charts
  157. charts = { module = "io.github.thechance101:chart", version.ref = "charts" }
  158. # qr code
  159. qrose = { module = "io.github.alexzhirkevich:qrose", version.ref = "qrose" }
  160. # coroutines desktop
  161. kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
  162. # log
  163. #logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
  164. # desktop parser
  165. ini4j = { module = "org.ini4j:ini4j", version.ref = "ini4j" }
  166. # tts
  167. tts = { module = "nl.marc-apps:tts", version.ref = "tts" }
  168. tts-compose = { module = "nl.marc-apps:tts-compose", version.ref = "tts" }
  169. # ai
  170. sh-google-generative-ai = { module = "dev.shreyaspatil.generativeai:generativeai-google", version.ref = "generative-ai" }
  171. # strings
  172. human-readable = { module = "nl.jacobras:Human-Readable", version.ref = "human-readable" }
  173. # alerts
  174. alert-kmp = { module = "io.github.khubaibkhan4:alert-kmp", version.ref = "alert-kmp" }
  175. #androidx-emoji2 = { module = "androidx.emoji2:emoji2", version.ref = "emoji2" }
  176. accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist-permissions" }
  177. androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
  178. junit = { module = "junit:junit", version.ref = "junit" }
  179. androidx-junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
  180. androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
  181. androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
  182. material = { module = "com.google.android.material:material", version.ref = "material" }
  183. # vlc
  184. vlcj = { module = "uk.co.caprica:vlcj", version.ref = "vlcj" }
  185. # jna
  186. jna-jpms = { module = "net.java.dev.jna:jna-jpms", version.ref = "jna" }
  187. jna-platform-jpms = { module = "net.java.dev.jna:jna-platform-jpms", version.ref = "jna" }
  188. # image comparer
  189. imageComparison = { module = "com.github.romankh3:image-comparison", version.ref = "image-comparison" }
  190. # blur
  191. haze = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" }
  192. # network
  193. ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
  194. ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
  195. ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
  196. ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
  197. ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
  198. okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp3" }
  199. okhttp3-urlconnection = { module = "com.squareup.okhttp3:okhttp-urlconnection", version.ref = "okhttp3" }
  200. okhttp3-dnsoverhttps = { module = "com.squareup.okhttp3:okhttp-dnsoverhttps", version.ref = "okhttp3" }
  201. okhttp3-tls = { module = "com.squareup.okhttp3:okhttp-tls", version.ref = "okhttp3" }
  202. # ai agents
  203. flock-aigentic-core = { module = "community.flock.aigentic:core", version.ref = "flock" }
  204. flock-aigentic-openai = { module = "community.flock.aigentic:openai", version.ref = "flock" }
  205. flock-aigentic-gemini = { module = "community.flock.aigentic:gemini", version.ref = "flock" }
  206. flock-aigentic-ollama = { module = "community.flock.aigentic:ollama", version.ref = "flock" }
  207. flock-aigentic-vertexai = { module = "community.flock.aigentic:vertexai", version.ref = "flock" }
  208. flock-aigentic-http = { module = "community.flock.aigentic:http", version.ref = "flock" }
  209. flock-aigentic-openapi = { module = "community.flock.aigentic:openapi", version.ref = "flock" }
  210. # markdown
  211. markwon = { module = "io.noties.markwon:core", version.ref = "markwon" }
  212. # html 2 text
  213. html2text = { module = "com.github.BartoszJarocki:android-boilerpipe", version.ref = "html2text" }
  214. # logs
  215. napier = { module = "io.github.aakira:napier", version.ref = "napier" }
  216. # cryptography
  217. cryptography-core = { module = "dev.whyoleg.cryptography:cryptography-core", version.ref = "cryptography" }
  218. cryptography-provider-optimal = { module = "dev.whyoleg.cryptography:cryptography-provider-optimal", version.ref = "cryptography" }
  219. ### plugins ########################################################################################
  220. [plugins]
  221. ####################################################################################################
  222. android-application = { id = "com.android.application", version.ref = "gradle" }
  223. android-library = { id = "com.android.library", version.ref = "gradle" }
  224. android-kotlin-multiplatform-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "gradle" }
  225. app-icon-generator = { id = "io.github.qamarelsafadi.kmp.app.icon.generator", version.ref = "app-icon" }
  226. compose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
  227. compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  228. kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  229. kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
  230. kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  231. kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
  232. qodana = { id = "org.jetbrains.qodana", version.ref = "qodana" }
  233. intellij-platform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" }
  234. changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" }
  235. gradle-ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "gradle-ktlint" }
  236. #foojay-resolver-convention = { id ="org.gradle.toolchains.foojay-resolver-convention", version.ref = "foojay-resolver-convention" }
  237. manes-versions = { id = "com.github.ben-manes.versions", version.ref = "manes-versions" }
  238. kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  239. #devtools-ksp = { id = "com.google.devtools.ksp", version.ref = "devtools-ksp" }
  240. vlc-setup = { id = "ir.mahozad.vlc-setup", version.ref = "vlc-setup" }
  241. ####################################################################################################