mirror of
https://github.com/Darkrock-Studios/hammer-editor.git
synced 2026-08-05 07:40:00 +00:00
Replace the plaintext FileAuthTokenStore binding with platform-specific encrypted stores behind the same AuthTokenStore interface, wired via a new expect/actual authTokenStoreModule. Android: EncryptedSharedPrefsAuthTokenStore backed by EncryptedSharedPreferences with a Keystore-backed AES256_GCM master key (androidx.security:security-crypto). Desktop: EncryptedFileAuthTokenStore writes the token-map JSON as AES/GCM/NoPadding to the config directory. The key is derived (PBKDF2WithHmacSHA256) from the OS user name and home dir plus a static salt, with no key file on disk, so a copied token file is useless on another machine or user. A random 12-byte IV is prepended per write and owner-only POSIX perms are applied best-effort. Decryption failure is treated as no tokens rather than crashing. This guards against casual disk scraping and off-machine copies, not same-user local malware that can re-derive the key. iOS: still uses the plaintext file store pending a Keychain-backed implementation (TODO marker in the iOS binding). Migration: a legacy plaintext auth_tokens.json from an intermediate build is imported into the encrypted store and deleted on first access; existing encrypted tokens win on key collision so a stale plaintext entry cannot clobber a fresh session.
391 lines
No EOL
23 KiB
TOML
391 lines
No EOL
23 KiB
TOML
[versions]
|
|
# App Versions
|
|
app = "3.4.2"
|
|
data_version = "1.0"
|
|
|
|
# Kotlin
|
|
flatlaf = "3.7.1"
|
|
jvm = "21"
|
|
kache = "2.1.1"
|
|
kotlin = "2.4.0"
|
|
serialization = "1.11.0"
|
|
|
|
# Android
|
|
android_gradle_plugin = "9.1.1"
|
|
android_sdk_compile = "37"
|
|
android_sdk_target = "37"
|
|
android_sdk_min = "28"
|
|
|
|
# Other libraries
|
|
activity-compose = "1.13.0"
|
|
androidx-runner = "1.7.0"
|
|
androidx-datastore = "1.2.1"
|
|
androidx-window = "1.5.1"
|
|
appcompat = "1.7.1"
|
|
appdirs = "1.5.0"
|
|
cache4k = "0.14.0"
|
|
core = "1.7.0"
|
|
coreKtx = "1.19.0"
|
|
cryptohash = "1.0.2"
|
|
androidx-security-crypto = "1.1.0"
|
|
glance = "1.2.0-rc01"
|
|
androix-junit = "1.3.0"
|
|
junit = "6.1.0"
|
|
clikt = "5.1.0"
|
|
kotlinx_atomicfu = "0.33.0"
|
|
kotlinx_collections_immutable = "0.5.0"
|
|
markdown = "0.7.5"
|
|
epub4kmp = "0.3.0"
|
|
pdfkmp = "1.2.0"
|
|
xmlutil = "1.0.0-rc3"
|
|
poi = "5.5.1"
|
|
kotlinx_html = "0.12.0"
|
|
material = "1.14.0"
|
|
orchestrator = "1.6.1"
|
|
cryptography = "0.6.0"
|
|
kmpZip = "0.12.1"
|
|
|
|
coroutines = "1.11.0"
|
|
datetime = "0.8.0"
|
|
napier = "2.7.1"
|
|
jetbrains_compose = "1.11.1"
|
|
compose_compiler_report_generator = "1.5.0"
|
|
jetbrains_kover = "0.9.8"
|
|
|
|
moko_permissions = "0.20.1"
|
|
|
|
decompose = "3.5.0"
|
|
essenty = "2.5.0" # This should match whatever decompose is referncing internally
|
|
|
|
filekit = "0.14.2"
|
|
koalaplot-core = "0.11.2"
|
|
coil = "3.5.0"
|
|
kmpalette = "3.1.0"
|
|
|
|
koin_bom = "4.2.2"
|
|
|
|
ktor = "3.5.0"
|
|
ktor_i18n = "2.0.0"
|
|
|
|
okio = "3.17.0"
|
|
slf4jSimple = "2.0.18"
|
|
splashify = "1.0.0-alpha1"
|
|
turbine = "1.2.1"
|
|
work-runtime-ktx = "2.11.2"
|
|
|
|
multiplatform_window_size = "0.5.0"
|
|
mockk = "1.14.11"
|
|
|
|
tomlkt = "0.5.0"
|
|
|
|
krypto = "4.0.10"
|
|
argon2_jvm = "2.12"
|
|
owasp_html_sanitizer = "20260313.1"
|
|
|
|
sqldelight = "2.3.2"
|
|
postgresql_jdbc = "42.7.11"
|
|
hikaricp = "7.1.0"
|
|
embedded_postgres = "2.2.2"
|
|
embedded_postgres_binaries = "18.4.0"
|
|
testcontainers = "1.21.4"
|
|
buildconfig = "6.0.10"
|
|
resources = "1.1.0"
|
|
aboutlibraries = "15.0.0"
|
|
logback_classic = "1.5.35"
|
|
multiplatform_settings = "1.3.0"
|
|
korge-core = "6.0.0"
|
|
bouncycastle = "1.84"
|
|
kotlinx-io-okio = "0.9.0"
|
|
|
|
compose-texteditor = "2.2.3"
|
|
kotlin-multiplatform-diff = "1.3.0"
|
|
platform-spellcheckerkt = "1.3.1"
|
|
nucleus = "1.15.7"
|
|
colorpicker-compose = "1.2.0"
|
|
material-kolor = "4.1.1"
|
|
|
|
[libraries]
|
|
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
|
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
|
|
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
|
|
appdirs = { module = "net.harawata:appdirs", version.ref = "appdirs" }
|
|
cache4k = { module = "io.github.reactivecircus.cache4k:cache4k", version.ref = "cache4k" }
|
|
core = { module = "androidx.test:core", version.ref = "core" }
|
|
core-ktx = { module = "androidx.test:core-ktx", version.ref = "core" }
|
|
cryptohash = { module = "com.appmattus.crypto:cryptohash", version.ref = "cryptohash" }
|
|
androidx-security-crypto = { module = "androidx.security:security-crypto", version.ref = "androidx-security-crypto" }
|
|
flatlaf = { module = "com.formdev:flatlaf", version.ref = "flatlaf" }
|
|
glance = { module = "androidx.glance:glance", version.ref = "glance" }
|
|
glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
|
|
glance-material3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
|
|
|
|
cryptography-core = { module = "dev.whyoleg.cryptography:cryptography-core", version.ref = "cryptography" }
|
|
cryptography-provider-jdk = { module = "dev.whyoleg.cryptography:cryptography-provider-jdk", version.ref = "cryptography" }
|
|
|
|
jetbrains_compose_runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_material = { module = "org.jetbrains.compose.material:material", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_material3 = { module = "org.jetbrains.compose.material3:material3", version = "1.9.0" }
|
|
jetbrains_compose_material_icons_extended = { module = "org.jetbrains.compose.material:material-icons-extended", version = "1.7.3" }
|
|
jetbrains_compose_animation = { module = "org.jetbrains.compose.animation:animation", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_animation_graphics = { module = "org.jetbrains.compose.animation:animation-graphics", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_tooling_preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_test_junit4 = { module = "org.jetbrains.compose.ui:ui-test-junit4", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_components_resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_components_ui_tooling_preview = { module = "org.jetbrains.compose.components:components-ui-tooling-preview", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_util = { module = "org.jetbrains.compose.ui:ui-util", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_text = { module = "org.jetbrains.compose.ui:ui-text", version.ref = "jetbrains_compose" }
|
|
jetbrains_compose_ui_backhandler = { module = "org.jetbrains.compose.ui:ui-backhandler", version.ref = "jetbrains_compose" }
|
|
|
|
coil_compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
|
|
coil_network_ktor = { group = "io.coil-kt.coil3", name = "coil-network-ktor3", version.ref = "coil" }
|
|
coil_svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
|
|
|
|
kmpalette_core = { group = "com.kmpalette", name = "kmpalette-core", version.ref = "kmpalette" }
|
|
kmpalette_extensions_file = { group = "com.kmpalette", name = "extensions-file", version.ref = "kmpalette" }
|
|
colorpicker_compose = { group = "com.github.skydoves", name = "colorpicker-compose", version.ref = "colorpicker-compose" }
|
|
material_kolor = { group = "com.materialkolor", name = "material-kolor", version.ref = "material-kolor" }
|
|
|
|
jakarta-mail = { module = "com.sun.mail:jakarta.mail", version = "2.0.2" }
|
|
androidx-junit = { module = "androidx.test.ext:junit", version.ref = "androix-junit" }
|
|
androidx-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "androix-junit" }
|
|
|
|
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
|
|
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" }
|
|
junit-vintage-engine = { module = "org.junit.vintage:junit-vintage-engine", version.ref = "junit" }
|
|
junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit" }
|
|
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" }
|
|
|
|
kache = { module = "com.mayakapps.kache:kache", version.ref = "kache" }
|
|
koalaplot-core = { module = "io.github.koalaplot:koalaplot-core", version.ref = "koalaplot-core" }
|
|
|
|
kmp-zip = { module = "no.synth:kmp-zip", version.ref = "kmpZip" }
|
|
kmp-zip-okio = { module = "no.synth:kmp-zip-okio", version.ref = "kmpZip" }
|
|
kotlin_reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
|
|
kotlin_test_junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
|
|
|
|
clikt = { module = "com.github.ajalt.clikt:clikt", version.ref = "clikt" }
|
|
kotlinx_datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "datetime" }
|
|
kotlinx_atomicfu = { group = "org.jetbrains.kotlinx", name = "atomicfu", version.ref = "kotlinx_atomicfu" }
|
|
kotlinx_atomicfu_plugin = { group = "org.jetbrains.kotlinx", name = "atomicfu-gradle-plugin", version.ref = "kotlinx_atomicfu" }
|
|
kotlinx_collections_immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinx_collections_immutable" }
|
|
|
|
markdown = { module = "org.jetbrains:markdown", version.ref = "markdown" }
|
|
kotlin-multiplatform-diff = { module = "io.github.petertrr:kotlin-multiplatform-diff", version.ref = "kotlin-multiplatform-diff" }
|
|
epub4kmp_core = { module = "com.darkrockstudios:epub4kmp-core", version.ref = "epub4kmp" }
|
|
xmlutil_core = { module = "io.github.pdvrieze.xmlutil:core", version.ref = "xmlutil" }
|
|
poi_ooxml = { module = "org.apache.poi:poi-ooxml", version.ref = "poi" }
|
|
pdfkmp = { module = "io.github.conamobiledev:pdfkmp", version.ref = "pdfkmp" }
|
|
kotlinx_html = { module = "org.jetbrains.kotlinx:kotlinx-html", version.ref = "kotlinx_html" }
|
|
multiplatform_window_size = { group = "dev.chrisbanes.material3", name = "material3-window-size-class-multiplatform", version.ref = "multiplatform_window_size" }
|
|
material = { module = "com.google.android.material:material", version.ref = "material" }
|
|
filekit_dialogs_compose = { module = "io.github.vinceglb:filekit-dialogs-compose", version.ref = "filekit" }
|
|
napier = { group = "io.github.aakira", name = "napier", version.ref = "napier" }
|
|
|
|
decompose = { group = "com.arkivanov.decompose", name = "decompose", version.ref = "decompose" }
|
|
decompose_compose = { group = "com.arkivanov.decompose", name = "extensions-compose", version.ref = "decompose" }
|
|
decompose_compose_experimental = { group = "com.arkivanov.decompose", name = "extensions-compose-experimental", version.ref = "decompose" }
|
|
decompose_android = { group = "com.arkivanov.decompose", name = "extensions-android", version.ref = "decompose" }
|
|
|
|
essenty_lifecycle = { group = "com.arkivanov.essenty", name = "lifecycle", version.ref = "essenty" }
|
|
essenty_lifecycle_coroutines = { group = "com.arkivanov.essenty", name = "lifecycle-coroutines", version.ref = "essenty" }
|
|
|
|
orchestrator = { module = "androidx.test:orchestrator", version.ref = "orchestrator" }
|
|
|
|
mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" }
|
|
|
|
androidx_runner = { module = "androidx.test:runner", version.ref = "androidx-runner" }
|
|
androidx_datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
|
|
androidx_window = { module = "androidx.window:window", version.ref = "androidx-window" }
|
|
serialization_core = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-core", version.ref = "serialization" }
|
|
serialization_jvm = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-core-jvm", version.ref = "serialization" }
|
|
serialization_json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" }
|
|
|
|
coroutines_core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
|
|
coroutines_android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
coroutines_swing = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-swing", version.ref = "coroutines" }
|
|
coroutines_jdk8 = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-jdk8", version.ref = "coroutines" }
|
|
coroutines_test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }
|
|
|
|
koin_bom = { group = "io.insert-koin", name = "koin-bom", version.ref = "koin_bom" }
|
|
koin_core = { group = "io.insert-koin", name = "koin-core" }
|
|
koin_core_coroutines = { group = "io.insert-koin", name = "koin-core-coroutines" }
|
|
koin_android = { group = "io.insert-koin", name = "koin-android" }
|
|
koin_test = { group = "io.insert-koin", name = "koin-test" }
|
|
koin_test_junit5 = { group = "io.insert-koin", name = "koin-test-junit5" }
|
|
koin_sl4j = { group = "io.insert-koin", name = "koin-logger-slf4j" }
|
|
koin_ktor = { group = "io.insert-koin", name = "koin-ktor" }
|
|
koin_compose = { group = "io.insert-koin", name = "koin-compose" }
|
|
|
|
splashify = { module = "io.github.sudarshanmhasrup.splashify:splashify", version.ref = "splashify" }
|
|
tomlkt = { group = "net.peanuuutz.tomlkt", name = "tomlkt", version.ref = "tomlkt" }
|
|
|
|
ktor_client_core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
|
|
ktor_client_auth = { group = "io.ktor", name = "ktor-client-auth", version.ref = "ktor" }
|
|
ktor_client_logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }
|
|
ktor_client_content_negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
|
|
ktor_client_encoding = { group = "io.ktor", name = "ktor-client-encoding", version.ref = "ktor" }
|
|
ktor_client_okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktor" }
|
|
ktor_client_darwin = { group = "io.ktor", name = "ktor-client-darwin", version.ref = "ktor" }
|
|
ktor_client_java = { group = "io.ktor", name = "ktor-client-java", version.ref = "ktor" }
|
|
ktor_client_mock = { group = "io.ktor", name = "ktor-client-mock", version.ref = "ktor" }
|
|
|
|
ktor_serialization_kotlinx_json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
|
|
|
ktor_server_contentnegotiationsjvm = { group = "io.ktor", name = "ktor-server-content-negotiation-jvm", version.ref = "ktor" }
|
|
ktor_server_corejvm = { group = "io.ktor", name = "ktor-server-core-jvm", version.ref = "ktor" }
|
|
ktor_server_serializationkotlinxjsonjvm = { group = "io.ktor", name = "ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" }
|
|
ktor_server_callloggingjvm = { group = "io.ktor", name = "ktor-server-call-logging-jvm", version.ref = "ktor" }
|
|
ktor_server_defaultheadersjvm = { group = "io.ktor", name = "ktor-server-default-headers-jvm", version.ref = "ktor" }
|
|
ktor_server_compressionjvm = { group = "io.ktor", name = "ktor-server-compression-jvm", version.ref = "ktor" }
|
|
ktor_server_cachingheadersjvm = { group = "io.ktor", name = "ktor-server-caching-headers-jvm", version.ref = "ktor" }
|
|
ktor_server_conditionalheadersjvm = { group = "io.ktor", name = "ktor-server-conditional-headers-jvm", version.ref = "ktor" }
|
|
ktor_server_authjvm = { group = "io.ktor", name = "ktor-server-auth-jvm", version.ref = "ktor" }
|
|
ktor_server_ratelimitjvm = { group = "io.ktor", name = "ktor-server-rate-limit-jvm", version.ref = "ktor" }
|
|
ktor_server_nettyjvm = { group = "io.ktor", name = "ktor-server-netty-jvm", version.ref = "ktor" }
|
|
ktor_server_httpredirect = { group = "io.ktor", name = "ktor-server-http-redirect", version.ref = "ktor" }
|
|
ktor_server_websockets = { group = "io.ktor", name = "ktor-server-websockets", version.ref = "ktor" }
|
|
ktor_server_requestvalidation = { group = "io.ktor", name = "ktor-server-request-validation", version.ref = "ktor" }
|
|
ktor_server_jetty_jakarta = { group = "io.ktor", name = "ktor-server-jetty-jakarta", version.ref = "ktor" }
|
|
ktor_server_mustache = { group = "io.ktor", name = "ktor-server-mustache", version.ref = "ktor" }
|
|
ktor_server_html_builder = { group = "io.ktor", name = "ktor-server-html-builder", version.ref = "ktor" }
|
|
ktor_server_status_pages = { group = "io.ktor", name = "ktor-server-status-pages", version.ref = "ktor" }
|
|
ktor_server_hsts = { group = "io.ktor", name = "ktor-server-hsts", version.ref = "ktor" }
|
|
|
|
# HTMX for Ktor
|
|
ktor_htmx = { group = "io.ktor", name = "ktor-htmx", version.ref = "ktor" }
|
|
ktor_htmx_html = { group = "io.ktor", name = "ktor-htmx-html", version.ref = "ktor" }
|
|
ktor_server_htmx = { group = "io.ktor", name = "ktor-server-htmx", version.ref = "ktor" }
|
|
|
|
ktor_server_i18n = { group = "com.github.aymanizz", name = "ktor-i18n", version.ref = "ktor_i18n" }
|
|
|
|
ktor-server-test-host = { module = "io.ktor:ktor-server-test-host", version.ref = "ktor" }
|
|
|
|
ktor_network_tlscertificates = { group = "io.ktor", name = "ktor-network-tls-certificates", version.ref = "ktor" }
|
|
|
|
okio = { group = "com.squareup.okio", name = "okio", version.ref = "okio" }
|
|
okio_fakefilesystem = { group = "com.squareup.okio", name = "okio-fakefilesystem", version.ref = "okio" }
|
|
slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4jSimple" }
|
|
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
|
|
work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "work-runtime-ktx" }
|
|
|
|
korlibs_krypto = { group = "com.soywiz.korlibs.krypto", name = "krypto", version.ref = "krypto" }
|
|
korlibs_korio = { group = "com.soywiz.korlibs.korio", name = "korio", version.ref = "krypto" }
|
|
|
|
argon2_jvm = { group = "de.mkammerer", name = "argon2-jvm", version.ref = "argon2_jvm" }
|
|
owasp-html-sanitizer = { group = "com.googlecode.owasp-java-html-sanitizer", name = "owasp-java-html-sanitizer", version.ref = "owasp_html_sanitizer" }
|
|
|
|
sqldelight_driver = { group = "app.cash.sqldelight", name = "sqlite-driver", version.ref = "sqldelight" }
|
|
sqldelight_jdbc_driver = { group = "app.cash.sqldelight", name = "jdbc-driver", version.ref = "sqldelight" }
|
|
sqldelight_adapters = { group = "app.cash.sqldelight", name = "primitive-adapters", version.ref = "sqldelight" }
|
|
sqldelight_postgresql_dialect = { group = "app.cash.sqldelight", name = "postgresql-dialect", version.ref = "sqldelight" }
|
|
|
|
postgresql_jdbc = { group = "org.postgresql", name = "postgresql", version.ref = "postgresql_jdbc" }
|
|
hikaricp = { group = "com.zaxxer", name = "HikariCP", version.ref = "hikaricp" }
|
|
embedded_postgres = { group = "io.zonky.test", name = "embedded-postgres", version.ref = "embedded_postgres" }
|
|
embedded_postgres_binaries_bom = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-bom", version.ref = "embedded_postgres_binaries" }
|
|
embedded_postgres_binaries_darwin_amd64 = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-darwin-amd64" }
|
|
embedded_postgres_binaries_darwin_arm64v8 = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-darwin-arm64v8" }
|
|
embedded_postgres_binaries_linux_amd64 = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-linux-amd64" }
|
|
embedded_postgres_binaries_linux_arm64v8 = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-linux-arm64v8" }
|
|
embedded_postgres_binaries_windows_amd64 = { group = "io.zonky.test.postgres", name = "embedded-postgres-binaries-windows-amd64" }
|
|
|
|
testcontainers_bom = { group = "org.testcontainers", name = "testcontainers-bom", version.ref = "testcontainers" }
|
|
testcontainers_postgresql = { group = "org.testcontainers", name = "postgresql" }
|
|
testcontainers_junit_jupiter = { group = "org.testcontainers", name = "junit-jupiter" }
|
|
|
|
resources = { group = "io.herrera.kevin", name = "resource", version.ref = "resources" }
|
|
aboutlibraries_core = { group = "com.mikepenz", name = "aboutlibraries-core", version.ref = "aboutlibraries" }
|
|
aboutlibraries_compose = { group = "com.mikepenz", name = "aboutlibraries-compose-m3", version.ref = "aboutlibraries" }
|
|
|
|
jetbrains_kover = { group = "org.jetbrains.kotlinx", name = "kover-gradle-plugin", version.ref = "jetbrains_kover" }
|
|
logback_classic = { group = "ch.qos.logback", name = "logback-classic", version.ref = "logback_classic" }
|
|
|
|
multiplatform_settings = { group = "com.russhwolf", name = "multiplatform-settings-no-arg", version.ref = "multiplatform_settings" }
|
|
korge-core = { group = "com.soywiz.korge", name = "korge-core", version.ref = "korge-core" }
|
|
kotlinx-io-okio = { group = "org.jetbrains.kotlinx", name = "kotlinx-io-okio", version.ref = "kotlinx-io-okio" }
|
|
|
|
moko-permissions = { group = "dev.icerock.moko", name = "permissions", version.ref = "moko_permissions" }
|
|
moko-permissions-storage = { group = "dev.icerock.moko", name = "permissions-storage", version.ref = "moko_permissions" }
|
|
moko-permissions-compose = { group = "dev.icerock.moko", name = "permissions-compose", version.ref = "moko_permissions" }
|
|
|
|
compose-texteditor = { group = "com.darkrockstudios", name = "composetexteditor", version.ref = "compose-texteditor" }
|
|
compose-texteditor-find = { group = "com.darkrockstudios", name = "composetexteditor-find", version.ref = "compose-texteditor" }
|
|
compose-texteditor-spellcheck = { group = "com.darkrockstudios", name = "composetexteditor-spellcheck", version.ref = "compose-texteditor" }
|
|
|
|
platform-spellcheckerkt = { module = "com.darkrockstudios:platform-spellcheckerkt", version.ref = "platform-spellcheckerkt" }
|
|
|
|
bouncycastle-bcpkix = { group = "org.bouncycastle", name = "bcpkix-jdk18on", version.ref = "bouncycastle" }
|
|
|
|
nucleus_darkmode_detector = { module = "io.github.kdroidfilter:nucleus.darkmode-detector", version.ref = "nucleus" }
|
|
nucleus_decorated_window_jbr = { module = "io.github.kdroidfilter:nucleus.decorated-window-jbr", version.ref = "nucleus" }
|
|
nucleus_decorated_window_material3 = { module = "io.github.kdroidfilter:nucleus.decorated-window-material3", version.ref = "nucleus" }
|
|
nucleus_launcher_windows = { module = "io.github.kdroidfilter:nucleus.launcher-windows", version.ref = "nucleus" }
|
|
nucleus_launcher_linux = { module = "io.github.kdroidfilter:nucleus.launcher-linux", version.ref = "nucleus" }
|
|
nucleus_launcher_macos = { module = "io.github.kdroidfilter:nucleus.launcher-macos", version.ref = "nucleus" }
|
|
|
|
[plugins]
|
|
kotlin_multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
|
kotlin_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
kotlin_jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin_android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
kotlin_parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
|
kotlin-powerassert = { id = "org.jetbrains.kotlin.plugin.power-assert", version.ref = "kotlin" }
|
|
kotlinx_atomicfu = { id = "org.jetbrains.kotlin.plugin.atomicfu", version.ref = "kotlin" }
|
|
android_application = { id = "com.android.application", version.ref = "android_gradle_plugin" }
|
|
android_library = { id = "com.android.library", version.ref = "android_gradle_plugin" }
|
|
android_kotlin_multiplatform_library = { id = "com.android.kotlin.multiplatform.library", version.ref = "android_gradle_plugin" }
|
|
jetbrains_compose = { id = "org.jetbrains.compose", version.ref = "jetbrains_compose" }
|
|
compose_compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
|
compose_report_generator = { id = "dev.shreyaspatil.compose-compiler-report-generator", version.ref = "compose_compiler_report_generator" }
|
|
jetbrains_kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "jetbrains_kover" }
|
|
ktor = { id = "io.ktor.plugin", version.ref = "ktor" }
|
|
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
|
|
buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" }
|
|
aboutlibraries_plugin = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
|
|
aboutlibraries_plugin_android = { id = "com.mikepenz.aboutlibraries.plugin.android", version.ref = "aboutlibraries" }
|
|
|
|
[bundles]
|
|
koin_server = ["koin_core", "koin_core_coroutines", "koin_sl4j", "koin_ktor"]
|
|
embedded_postgres_binaries = [
|
|
"embedded_postgres_binaries_darwin_amd64",
|
|
"embedded_postgres_binaries_darwin_arm64v8",
|
|
"embedded_postgres_binaries_linux_amd64",
|
|
"embedded_postgres_binaries_linux_arm64v8",
|
|
"embedded_postgres_binaries_windows_amd64",
|
|
]
|
|
ktor_client = [
|
|
"ktor_client_core",
|
|
"ktor_client_auth",
|
|
"ktor_client_logging",
|
|
"ktor_client_content_negotiation",
|
|
"ktor_client_encoding",
|
|
]
|
|
ktor_server = [
|
|
"ktor_server_contentnegotiationsjvm",
|
|
"ktor_server_corejvm",
|
|
"ktor_server_serializationkotlinxjsonjvm",
|
|
"ktor_server_callloggingjvm",
|
|
"ktor_server_defaultheadersjvm",
|
|
"ktor_server_compressionjvm",
|
|
"ktor_server_cachingheadersjvm",
|
|
"ktor_server_conditionalheadersjvm",
|
|
"ktor_server_authjvm",
|
|
"ktor_server_ratelimitjvm",
|
|
"ktor_server_jetty_jakarta",
|
|
"ktor_server_httpredirect",
|
|
"ktor_server_websockets",
|
|
"ktor_server_i18n",
|
|
"ktor_server_requestvalidation",
|
|
]
|
|
essenty = [
|
|
"essenty_lifecycle",
|
|
"essenty_lifecycle_coroutines",
|
|
]
|
|
junit-jupiter = [
|
|
"junit-jupiter",
|
|
"junit-jupiter-engine",
|
|
"junit-jupiter-params",
|
|
] |