mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 11:18:24 +00:00
Lint reports 874 warnings / 0 errors per amethyst variant. 512 of those are in Crowdin-managed values-*/strings.xml (mostly MissingQuantity — a translator's plural missing a quantity) and are not ours to hand-edit; this takes the ones that are mechanical and behaviour-preserving: - EmptySuperCall (24 in amethyst, plus 2 in commons the amethyst run cannot see): ViewModel.onCleared is documented empty, so drop the super calls. - UseKtx (2): Canvas.withTranslation for the LaTeX drawable, and Bitmap.toDrawable for the map pin — the KTX form CLAUDE.md asks for, and both compile to the same calls. - ConstantLocale (1): CalendarEventListCard held its "MMM" formatter in a file-level val, which captures Locale.getDefault() once — month abbreviations stayed in whatever language was active at class init. The formatter is now cached per locale, which keeps the property the original comment was protecting (a formatter per recompose was 500 allocations while scrolling), and the locale comes from LocalLocale.current.platformLocale so the read is observable: Locale.getDefault() inside a composable is not, and Compose's own NonObservableLocale check rates that an error. - UnusedResources (6): the Android Studio new-project wizard's leftover colors (purple_200, teal_200, teal_700, black, white, transparent), each verified unreferenced from Kotlin and XML. purple_500/700 are in use and stay. - UseTomlInstead (3): the debug-only Compose/Perfetto tracing dependencies move into the version catalog. Same coordinates and versions; the catalog already carries BOM-managed versionless entries. playDebug goes from 874 warnings to 838, still 0 errors. Deliberately left, because each is a decision rather than a cleanup: AppLinkWarning (autoVerify only works if the domains serve a matching assetlinks.json), the 126 unused source strings and 10 PluralsCandidate (both churn the translation surface), GradleDependency / NewerVersionAvailable (dependency bumps need the license check), VectorRaster / VectorPath / IconDensities / IconXmlAndPng (redrawing assets), BatteryLife (the battery-optimization helper working as designed), and InlinedApi / ClickableViewAccessibility / DiscouragedApi / InsecureBaseConfiguration (each needs its surrounding intent read first). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0123kXtseu4X18hL3GMDcdER
280 lines
21 KiB
TOML
280 lines
21 KiB
TOML
[versions]
|
|
# Amethyst app version — single source of truth consumed by both Android (amethyst/)
|
|
# and Desktop (desktopApp/). `appCode` is the Android versionCode: a monotonic
|
|
# integer that must increment on every release, even when `app` is unchanged.
|
|
app = "1.15.2"
|
|
appCode = "460"
|
|
accompanistAdaptive = "0.37.3"
|
|
# Pinned: 0.3.0 turns CacheMap.entries/keys/values into DeprecationLevel.ERROR (and
|
|
# throws UnsupportedOperationException at runtime), which breaks quartz's appleMain
|
|
# LargeCache/ConcurrentHashCache — they read those views directly and through the
|
|
# stdlib Map operators (filter/map/groupBy/associate/count). Bumping needs a port to
|
|
# the new forEach/forEachKey/forEachValue API, verified on an Apple target.
|
|
cachemapVersion = "0.2.4"
|
|
composeMultiplatform = "1.12.0"
|
|
activityCompose = "1.13.0"
|
|
# 9.4.0's PerModuleBundleTask rejects an AAB entry whose name contains a colon, which every
|
|
# .kotlin_module named after a Gradle project path has. Worked around in amethyst/build.gradle.kts
|
|
# (stripColonNamedEntries) rather than by pinning to 9.3.1; drop that block if AGP fixes it.
|
|
agp = "9.4.0"
|
|
android-compileSdk = "37"
|
|
android-minSdk = "26"
|
|
android-targetSdk = "37"
|
|
androidxJunit = "1.3.0"
|
|
appcompat = "1.8.0"
|
|
audiowaveform = "1.1.2"
|
|
benchmark = "1.5.0"
|
|
uiautomator = "2.4.0"
|
|
biometricKtx = "1.4.0-alpha02"
|
|
coil = "3.6.2"
|
|
composeBom = "2026.09.00"
|
|
tracingPerfetto = "1.0.1"
|
|
composeRuntimeAnnotation = "1.12.1"
|
|
coreKtx = "1.19.0"
|
|
datastore = "1.2.1"
|
|
devWhyolegCryptography = "0.6.0"
|
|
espressoCore = "3.7.0"
|
|
firebaseBom = "34.19.0"
|
|
fragmentKtx = "1.9.0"
|
|
gms = "4.5.0"
|
|
healthConnect = "1.1.0"
|
|
jacksonModuleKotlin = "2.22.2"
|
|
javaKeyring = "1.0.4"
|
|
kmpTorRuntime = "2.6.0"
|
|
kmpTorResource = "409.5.0"
|
|
kodeinEmoji = "2.5.0"
|
|
junit = "4.13.2"
|
|
kchesslib = "1.0.5"
|
|
kotlin = "2.4.20"
|
|
kotlinxCollectionsImmutable = "0.5.2"
|
|
kotlinxCoroutinesCore = "1.11.0"
|
|
kotlinxSerialization = "1.11.0"
|
|
genaiProofreading = "1.0.0-beta1"
|
|
genaiPrompt = "1.0.0-beta4"
|
|
genaiRewriting = "1.0.0-beta1"
|
|
genaiImageDescription = "1.0.0-beta1"
|
|
languageId = "17.0.6"
|
|
lifecycleRuntimeKtx = "2.11.0"
|
|
lightcompressor-enhanced = "2.2.1"
|
|
jlatexmath = "1.5"
|
|
markdown = "4d3b3dd173"
|
|
highlights = "1.1.0"
|
|
# JetBrains material3 must track Compose Multiplatform's foundation: CMP 1.12.0 changed
|
|
# the CustomStyle.applyStyle signature, so the stable 1.9.0 (and the 1.11.0-alpha07 that
|
|
# kodein-emoji pulls in) crash at runtime with AbstractMethodError in OutlinedTextField.
|
|
# 1.12.0-alpha03 is the first release built against foundation 1.12.x. Android keeps taking
|
|
# androidx material3 from composeBom; this ref only drives desktop/iOS.
|
|
material3 = "1.12.0-alpha03"
|
|
media3 = "1.11.1"
|
|
mockk = "1.14.11"
|
|
kotlinx-coroutines-test = "1.11.0"
|
|
negentropyKmp = "v1.2.0"
|
|
navigationCompose = "2.10.1"
|
|
okhttp = "5.5.0"
|
|
osmdroid = "6.1.20"
|
|
runner = "1.7.0"
|
|
secp256k1KmpJniAndroid = "0.24.0"
|
|
schnorr256k1Kmp = "1.0.5"
|
|
securityCryptoKtx = "1.1.0"
|
|
slf4j = "2.0.19"
|
|
sonarqubeGradlePlugin = "7.5.0.8588"
|
|
spotless = "8.10.2"
|
|
streamWebrtcAndroid = "1.3.10"
|
|
translate = "17.0.3"
|
|
jetbrainsCompose = "1.12.0"
|
|
unifiedpush = "3.0.10"
|
|
playServicesCast = "22.3.1"
|
|
vico-charts-compose = "3.3.1"
|
|
zelory = "3.0.1"
|
|
zoomable = "2.13.0"
|
|
composemediaplayer = "0.11.4"
|
|
jcodec = "0.2.5"
|
|
commonsImaging = "1.0.0-alpha6"
|
|
thumbnailator = "0.4.21"
|
|
zxing = "3.5.4"
|
|
zxingAndroidEmbedded = "4.3.0"
|
|
webkit = "1.17.0"
|
|
# Cross-process UI embedding (SurfaceControlViewHost wrapper) for the in-app browser surface. Apache-2.0.
|
|
privacysandboxUi = "1.0.0-alpha17"
|
|
windowCoreAndroid = "1.5.1"
|
|
workRuntime = "2.11.2"
|
|
androidxCamera = "1.6.2"
|
|
androidxCollection = "1.6.0"
|
|
androidxProfileinstaller = "1.4.1"
|
|
androidxExifinterface = "1.4.2"
|
|
kotlinTest = "2.4.20"
|
|
core = "1.7.0"
|
|
mavenPublish = "0.37.0"
|
|
sqlite = "2.7.1"
|
|
ktor = "3.5.2"
|
|
fourkoma = "1.2.0"
|
|
|
|
# Phase 2 (Gemini App Functions) — both still pre-stable as of May 2026.
|
|
# Scoped to the play flavor only (see amethyst/build.gradle.kts) so the
|
|
# fdroid channel doesn't pull in Google alpha dependencies.
|
|
# Capped by appfunctions-service: `appfunctions` and `appfunctions-compiler`
|
|
# publish alpha10, but -service stopped at alpha09, and all three share this
|
|
# ref. Check every artifact before bumping, not just the main one.
|
|
appfunctions = "1.0.0-alpha09"
|
|
ksp = "2.3.12"
|
|
|
|
[libraries]
|
|
abedElazizShe-video-compressor-fork = { group = "com.github.davotoula", name = "LightCompressor-enhanced", version.ref = "lightcompressor-enhanced" }
|
|
accompanist-adaptive = { group = "com.google.accompanist", name = "accompanist-adaptive", version.ref = "accompanistAdaptive" }
|
|
accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanistAdaptive" }
|
|
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activityCompose" }
|
|
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
|
|
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
|
androidx-appfunctions = { group = "androidx.appfunctions", name = "appfunctions", version.ref = "appfunctions" }
|
|
androidx-appfunctions-service = { group = "androidx.appfunctions", name = "appfunctions-service", version.ref = "appfunctions" }
|
|
androidx-appfunctions-compiler = { group = "androidx.appfunctions", name = "appfunctions-compiler", version.ref = "appfunctions" }
|
|
androidx-benchmark-junit4 = { group = "androidx.benchmark", name = "benchmark-junit4", version.ref = "benchmark" }
|
|
androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmark" }
|
|
androidx-biometric-ktx = { group = "androidx.biometric", name = "biometric-ktx", version.ref = "biometricKtx" }
|
|
androidx-camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "androidxCamera" }
|
|
androidx-camera-core = { module = "androidx.camera:camera-core", version.ref = "androidxCamera" }
|
|
androidx-camera-extensions = { module = "androidx.camera:camera-extensions", version.ref = "androidxCamera" }
|
|
androidx-camera-view = { module = "androidx.camera:camera-view", version.ref = "androidxCamera" }
|
|
androidx-camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "androidxCamera" }
|
|
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
|
|
androidx-compose-runtime-tracing = { group = "androidx.compose.runtime", name = "runtime-tracing" }
|
|
androidx-tracing-perfetto = { group = "androidx.tracing", name = "tracing-perfetto", version.ref = "tracingPerfetto" }
|
|
androidx-tracing-perfetto-binary = { group = "androidx.tracing", name = "tracing-perfetto-binary", version.ref = "tracingPerfetto" }
|
|
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
|
|
androidx-compose-runtime-annotation = { group = "androidx.compose.runtime", name = "runtime-annotation", version.ref = "composeRuntimeAnnotation" }
|
|
androidx-collection = { group = "androidx.collection", name = "collection", version.ref = "androidxCollection" }
|
|
androidx-exifinterface = { group = "androidx.exifinterface", name = "exifinterface", version.ref = "androidxExifinterface" }
|
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
|
androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "androidxProfileinstaller" }
|
|
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
|
|
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
|
|
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragmentKtx" }
|
|
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidxJunit" }
|
|
androidx-junit-ktx = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidxJunit" }
|
|
androidx-lifecycle-runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycleRuntimeKtx" }
|
|
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
|
|
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "lifecycleRuntimeKtx" }
|
|
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeKtx" }
|
|
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
|
|
androidx-material3-windowSize = { group = "androidx.compose.material3", name = "material3-window-size-class" }
|
|
androidx-media3-datasource-okhttp = { group = "androidx.media3", name = "media3-datasource-okhttp", version.ref = "media3" }
|
|
androidx-media3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "media3" }
|
|
androidx-media3-exoplayer-hls = { group = "androidx.media3", name = "media3-exoplayer-hls", version.ref = "media3" }
|
|
androidx-media3-session = { group = "androidx.media3", name = "media3-session", version.ref = "media3" }
|
|
androidx-media3-ui-compose-material3 = { group = "androidx.media3", name = "media3-ui-compose-material3", version.ref = "media3" }
|
|
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" }
|
|
androidx-runner = { group = "androidx.test", name = "runner", version.ref = "runner" }
|
|
androidx-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
|
|
androidx-security-crypto-ktx = { group = "androidx.security", name = "security-crypto-ktx", version.ref = "securityCryptoKtx" }
|
|
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
|
|
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
|
|
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
|
|
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
|
|
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
|
|
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
|
|
audiowaveform = { group = "com.github.lincollincol", name = "compose-audiowaveform", version.ref = "audiowaveform" }
|
|
charlietap-cachemap = { module = "io.github.charlietap:cachemap", version.ref = "cachemapVersion" }
|
|
coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
|
|
coil-gif = { group = "io.coil-kt.coil3", name = "coil-gif", version.ref = "coil" }
|
|
coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
|
|
coil-okhttp = { group = "io.coil-kt.coil3", name = "coil-network-okhttp", version.ref = "coil" }
|
|
coil-video = { group = "io.coil-kt.coil3", name = "coil-video", version.ref = "coil" }
|
|
commons-imaging = { group = "org.apache.commons", name = "commons-imaging", version.ref = "commonsImaging" }
|
|
thumbnailator = { group = "net.coobird", name = "thumbnailator", version.ref = "thumbnailator" }
|
|
slf4j-nop = { module = "org.slf4j:slf4j-nop", version.ref = "slf4j" }
|
|
composemediaplayer = { group = "io.github.kdroidfilter", name = "composemediaplayer", version.ref = "composemediaplayer" }
|
|
jcodec = { group = "org.jcodec", name = "jcodec", version.ref = "jcodec" }
|
|
jcodec-javase = { group = "org.jcodec", name = "jcodec-javase", version.ref = "jcodec" }
|
|
dev-whyoleg-cryptography-provider-apple-optimal = { module = "dev.whyoleg.cryptography:cryptography-provider-optimal", version.ref = "devWhyolegCryptography" }
|
|
firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" }
|
|
firebase-messaging = { group = "com.google.firebase", name = "firebase-messaging" }
|
|
jetbrains-compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3" }
|
|
jetbrains-compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "jetbrainsCompose" }
|
|
jetbrains-compose-ui-test-junit4 = { module = "org.jetbrains.compose.ui:ui-test-junit4", version.ref = "jetbrainsCompose" }
|
|
google-mlkit-genai-proofreading = { group = "com.google.mlkit", name = "genai-proofreading", version.ref = "genaiProofreading" }
|
|
google-mlkit-genai-prompt = { group = "com.google.mlkit", name = "genai-prompt", version.ref = "genaiPrompt" }
|
|
google-mlkit-genai-rewriting = { group = "com.google.mlkit", name = "genai-rewriting", version.ref = "genaiRewriting" }
|
|
google-mlkit-genai-image-description = { group = "com.google.mlkit", name = "genai-image-description", version.ref = "genaiImageDescription" }
|
|
google-mlkit-language-id = { group = "com.google.mlkit", name = "language-id", version.ref = "languageId" }
|
|
google-mlkit-translate = { group = "com.google.mlkit", name = "translate", version.ref = "translate" }
|
|
jackson-module-kotlin = { group = "com.fasterxml.jackson.module", name = "jackson-module-kotlin", version.ref = "jacksonModuleKotlin" }
|
|
java-keyring = { group = "com.github.javakeyring", name = "java-keyring", version.ref = "javaKeyring" }
|
|
kmp-tor-runtime = { group = "io.matthewnelson.kmp-tor", name = "runtime", version.ref = "kmpTorRuntime" }
|
|
kmp-tor-resource-exec-tor = { group = "io.matthewnelson.kmp-tor", name = "resource-exec-tor", version.ref = "kmpTorResource" }
|
|
kodein-emoji-compose-m3 = { group = "org.kodein.emoji", name = "emoji-compose-m3", version.ref = "kodeinEmoji" }
|
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
|
kchesslib = { module = "io.github.cvb941:kchesslib", version.ref = "kchesslib" }
|
|
kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinxCollectionsImmutable" }
|
|
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" }
|
|
kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinxCoroutinesCore" }
|
|
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
|
kotlinx-serialization-cbor = { module = "org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref = "kotlinxSerialization" }
|
|
jlatexmath-android = { module = "com.github.rikkahub.jlatexmath-android:jlatexmath", version.ref = "jlatexmath" }
|
|
jlatexmath-font-greek = { module = "com.github.rikkahub.jlatexmath-android:jlatexmath-font-greek", version.ref = "jlatexmath" }
|
|
jlatexmath-font-cyrillic = { module = "com.github.rikkahub.jlatexmath-android:jlatexmath-font-cyrillic", version.ref = "jlatexmath" }
|
|
markdown-commonmark = { group = "com.github.vitorpamplona.compose-richtext", name = "richtext-commonmark", version.ref = "markdown" }
|
|
markdown-ui = { group = "com.github.vitorpamplona.compose-richtext", name = "richtext-ui", version.ref = "markdown" }
|
|
markdown-ui-material3 = { group = "com.github.vitorpamplona.compose-richtext", name = "richtext-ui-material3", version.ref = "markdown" }
|
|
highlights = { group = "dev.snipme", name = "highlights", version.ref = "highlights" }
|
|
mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" }
|
|
mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "mockk" }
|
|
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-test"}
|
|
negentropy-kmp = { module = "com.vitorpamplona.negentropy:kmp-negentropy", version.ref = "negentropyKmp" }
|
|
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
|
|
okhttpCoroutines = { group = "com.squareup.okhttp3", name = "okhttp-coroutines", version.ref = "okhttp" }
|
|
osmdroid-android = { group = "org.osmdroid", name = "osmdroid-android", version.ref = "osmdroid" }
|
|
ktor-server-core = { group = "io.ktor", name = "ktor-server-core", version.ref = "ktor" }
|
|
ktor-server-cio = { group = "io.ktor", name = "ktor-server-cio", version.ref = "ktor" }
|
|
ktor-server-websockets = { group = "io.ktor", name = "ktor-server-websockets", version.ref = "ktor" }
|
|
fourkoma = { module = "cc.ekblad:4koma", version.ref = "fourkoma" }
|
|
secp256k1-kmp-common = { group = "fr.acinq.secp256k1", name = "secp256k1-kmp", version.ref = "secp256k1KmpJniAndroid" }
|
|
secp256k1-kmp-jni-android = { group = "fr.acinq.secp256k1", name = "secp256k1-kmp-jni-android", version.ref = "secp256k1KmpJniAndroid" }
|
|
secp256k1-kmp-jni-jvm = { group = "fr.acinq.secp256k1", name = "secp256k1-kmp-jni-jvm", version.ref = "secp256k1KmpJniAndroid" }
|
|
schnorr256k1-kmp = { group = "com.vitorpamplona.schnorr256k1", name = "schnorr256k1-kmp", version.ref = "schnorr256k1Kmp" }
|
|
# Build-time only, gated behind the local.properties sonar opt-in in the root build script (LGPL-3.0).
|
|
sonarqube-gradle-plugin = { group = "org.sonarsource.scanner.gradle", name = "sonarqube-gradle-plugin", version.ref = "sonarqubeGradlePlugin" }
|
|
stream-webrtc-android = { group = "io.getstream", name = "stream-webrtc-android", version.ref = "streamWebrtcAndroid" }
|
|
unifiedpush = { group = "com.github.UnifiedPush", name = "android-connector", version.ref = "unifiedpush" }
|
|
play-services-cast-framework = { group = "com.google.android.gms", name = "play-services-cast-framework", version.ref = "playServicesCast" }
|
|
vico-charts-compose = { group = "com.patrykandpatrick.vico", name = "compose", version.ref = "vico-charts-compose" }
|
|
androidx-webkit = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
|
|
androidx-privacysandbox-ui-core = { group = "androidx.privacysandbox.ui", name = "ui-core", version.ref = "privacysandboxUi" }
|
|
androidx-privacysandbox-ui-client = { group = "androidx.privacysandbox.ui", name = "ui-client", version.ref = "privacysandboxUi" }
|
|
androidx-privacysandbox-ui-provider = { group = "androidx.privacysandbox.ui", name = "ui-provider", version.ref = "privacysandboxUi" }
|
|
vico-charts-m3 = { group = "com.patrykandpatrick.vico", name = "compose-m3", version.ref = "vico-charts-compose" }
|
|
zelory-image-compressor = { group = "id.zelory", name = "compressor", version.ref = "zelory" }
|
|
zoomable = { group = "net.engawapg.lib", name = "zoomable", version.ref = "zoomable" }
|
|
zxing = { group = "com.google.zxing", name = "core", version.ref = "zxing" }
|
|
zxing-embedded = { group = "com.journeyapps", name = "zxing-android-embedded", version.ref = "zxingAndroidEmbedded" }
|
|
androidx-window-core-android = { group = "androidx.window", name = "window-core-android", version.ref = "windowCoreAndroid" }
|
|
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
|
|
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlinTest" }
|
|
androidx-core = { group = "androidx.test", name = "core", version.ref = "core" }
|
|
androidx-sqlite = { group = "androidx.sqlite", name = "sqlite", version.ref = "sqlite" }
|
|
androidx-sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" }
|
|
androidx-sqlite-bundled-jvm = { module = "androidx.sqlite:sqlite-bundled-jvm", version.ref = "sqlite" }
|
|
androidx-work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "workRuntime" }
|
|
androidx-health-connect-client = { group = "androidx.health.connect", name = "connect-client", version.ref = "healthConnect" }
|
|
|
|
[plugins]
|
|
androidApplication = { id = "com.android.application", version.ref = "agp" }
|
|
androidBenchmark = { id = "androidx.benchmark", version.ref = "benchmark" }
|
|
androidLibrary = { id = "com.android.library", version.ref = "agp" }
|
|
androidTest = { id = "com.android.test", version.ref = "agp" }
|
|
androidxBaselineProfile = { id = "androidx.baselineprofile", version.ref = "benchmark" }
|
|
diffplugSpotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
|
|
googleServices = { id = "com.google.gms.google-services", version.ref = "gms" }
|
|
jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
jetbrainsComposeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
|
serialization = { id = 'org.jetbrains.kotlin.plugin.serialization', version.ref = 'kotlin' }
|
|
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
|
androidKotlinMultiplatformLibrary = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
|
|
vanniktech-mavenPublish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublish" }
|
|
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
|
|
googleKsp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|