chore: use libraries toml
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
cdc03ec3a7
commit
968b3dccd1
|
|
@ -4,34 +4,18 @@ import java.io.FileInputStream
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
alias(libs.plugins.android.application)
|
||||||
id("org.jetbrains.kotlin.android")
|
alias(libs.plugins.kotlin.android)
|
||||||
id("org.jetbrains.kotlin.plugin.serialization")
|
alias(libs.plugins.kotlin.serialization)
|
||||||
id("org.jetbrains.kotlin.plugin.compose")
|
alias(libs.plugins.kotlin.compose)
|
||||||
id("com.mikepenz.aboutlibraries.plugin")
|
alias(libs.plugins.aboutlibraries)
|
||||||
id("com.google.dagger.hilt.android")
|
alias(libs.plugins.hilt)
|
||||||
id("com.google.devtools.ksp")
|
alias(libs.plugins.ksp)
|
||||||
id("io.sentry.android.gradle") version "4.12.0"
|
alias(libs.plugins.sentry.android)
|
||||||
id("app.cash.sqldelight") version "2.0.1"
|
alias(libs.plugins.sqldelight)
|
||||||
|
alias(libs.plugins.google.services)
|
||||||
id("kotlin-kapt")
|
id("kotlin-kapt")
|
||||||
id("kotlin-parcelize")
|
id("kotlin-parcelize")
|
||||||
id("com.google.gms.google-services")
|
|
||||||
}
|
|
||||||
|
|
||||||
val composeBomVersion = "2025.03.00"
|
|
||||||
val accompanistVersion = "0.34.0"
|
|
||||||
val okhttpVersion = "4.12.0"
|
|
||||||
val navVersion = "2.9.0"
|
|
||||||
val hiltVersion = "2.57"
|
|
||||||
val glideVersion = "5.0.5"
|
|
||||||
val ktorVersion = "3.3.2"
|
|
||||||
val media3Version = "1.7.1"
|
|
||||||
val material3Version = "1.4.0-alpha15"
|
|
||||||
val androidXTestVersion = "1.6.1"
|
|
||||||
|
|
||||||
object LivekitVersion {
|
|
||||||
val core = "2.21.0"
|
|
||||||
val componentsCompose = "1.4.0"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun property(fileName: String, propertyName: String, fallbackEnv: String? = null): String? {
|
fun property(fileName: String, propertyName: String, fallbackEnv: String? = null): String? {
|
||||||
|
|
@ -187,138 +171,111 @@ sentry {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Android/Kotlin Core
|
implementation(project(":core:model"))
|
||||||
implementation("androidx.core:core-ktx:1.16.0")
|
|
||||||
implementation("org.jetbrains.kotlin:kotlin-reflect:2.0.20")
|
|
||||||
|
|
||||||
// Kotlinx - various first-party extensions for Kotlin
|
implementation(libs.android.core.ktx)
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
implementation(libs.kotlin.reflect)
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.6.1")
|
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
|
|
||||||
implementation("androidx.profileinstaller:profileinstaller:1.4.1")
|
|
||||||
|
|
||||||
// Compose BOM
|
implementation(libs.kotlin.serialization.json)
|
||||||
val composeBom = platform("androidx.compose:compose-bom:$composeBomVersion")
|
implementation(libs.kotlin.serialization.cbor)
|
||||||
|
implementation(libs.kotlin.datetime)
|
||||||
|
|
||||||
|
val composeBom = platform(libs.compose.bom)
|
||||||
implementation(composeBom)
|
implementation(composeBom)
|
||||||
testImplementation(composeBom)
|
testImplementation(composeBom)
|
||||||
androidTestImplementation(composeBom)
|
androidTestImplementation(composeBom)
|
||||||
|
|
||||||
// Jetpack Compose
|
implementation(libs.compose.ui)
|
||||||
implementation("androidx.compose.ui:ui:1.8.2")
|
implementation(libs.compose.ui.util)
|
||||||
implementation("androidx.compose.ui:ui-util")
|
implementation(libs.compose.ui.tooling.preview)
|
||||||
implementation("androidx.compose.material3:material3:$material3Version")
|
implementation(libs.compose.material3)
|
||||||
implementation("androidx.compose.material3:material3-window-size-class:$material3Version")
|
implementation(libs.compose.material3.windowsizeclass)
|
||||||
implementation("androidx.compose.material:material-icons-core:1.7.8")
|
implementation(libs.compose.material.icons.core)
|
||||||
implementation("androidx.compose.ui:ui-tooling-preview")
|
implementation(libs.compose.runtime.livedata)
|
||||||
implementation("androidx.compose.runtime:runtime-livedata")
|
implementation(libs.lifecycle.runtime.ktx)
|
||||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.1")
|
implementation(libs.lifecycle.viewmodel.compose)
|
||||||
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.1")
|
implementation(libs.activity.compose)
|
||||||
implementation("androidx.activity:activity-compose:1.10.1")
|
|
||||||
|
|
||||||
// Accompanist - Jetpack Compose Extensions
|
implementation(libs.accompanist.systemuicontroller)
|
||||||
implementation("com.google.accompanist:accompanist-systemuicontroller:$accompanistVersion")
|
implementation(libs.accompanist.permissions)
|
||||||
implementation("com.google.accompanist:accompanist-permissions:$accompanistVersion")
|
|
||||||
|
|
||||||
// KTOR - HTTP+WebSocket Library
|
implementation(libs.ktor.client.core)
|
||||||
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
implementation(libs.ktor.client.logging)
|
||||||
implementation("io.ktor:ktor-client-logging:$ktorVersion")
|
implementation(libs.ktor.client.contentnegotiation)
|
||||||
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
|
implementation(libs.ktor.client.okhttp)
|
||||||
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
|
implementation(libs.ktor.serialization.kotlinx.json)
|
||||||
implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
|
|
||||||
|
|
||||||
// Screen Navigation
|
implementation(libs.navigation.compose)
|
||||||
implementation("androidx.navigation:navigation-compose:$navVersion")
|
|
||||||
|
|
||||||
// Jetpack Compose Tooling
|
debugImplementation(libs.compose.ui.tooling)
|
||||||
debugImplementation("androidx.compose.ui:ui-tooling")
|
debugImplementation(libs.compose.ui.test.manifest)
|
||||||
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
|
||||||
|
|
||||||
// Hilt - Dependency Injection
|
implementation(libs.hilt.android)
|
||||||
implementation("com.google.dagger:hilt-android:$hiltVersion")
|
implementation(libs.hilt.navigation.compose)
|
||||||
implementation("androidx.hilt:hilt-navigation-compose:1.2.0")
|
kapt(libs.hilt.compiler)
|
||||||
kapt("com.google.dagger:hilt-compiler:$hiltVersion")
|
|
||||||
|
|
||||||
// Glide - Image Loading
|
implementation(libs.glide)
|
||||||
implementation("com.github.bumptech.glide:glide:$glideVersion")
|
implementation(libs.glide.compose)
|
||||||
implementation("com.github.bumptech.glide:compose:1.0.0-beta01")
|
ksp(libs.glide.ksp)
|
||||||
implementation("com.github.bumptech.glide:okhttp3-integration:5.0.5")
|
|
||||||
ksp("com.github.bumptech.glide:ksp:$glideVersion")
|
|
||||||
|
|
||||||
// AboutLibraries - automated OSS library attribution
|
implementation(libs.aboutlibraries.core)
|
||||||
implementation("com.mikepenz:aboutlibraries-core:11.3.0-rc02")
|
|
||||||
|
|
||||||
// Sentry - crash reporting
|
implementation(libs.sentry.android)
|
||||||
implementation("io.sentry:sentry-android:8.13.2")
|
implementation(libs.sentry.compose.android)
|
||||||
implementation("io.sentry:sentry-compose-android:8.13.2")
|
|
||||||
|
|
||||||
// Other AndroidX libraries
|
implementation(libs.android.profileinstaller)
|
||||||
implementation("androidx.documentfile:documentfile:1.1.0")
|
implementation(libs.android.documentfile)
|
||||||
implementation("androidx.browser:browser:1.8.0")
|
implementation(libs.android.browser)
|
||||||
implementation("androidx.webkit:webkit:1.14.0")
|
implementation(libs.android.webkit)
|
||||||
implementation("androidx.core:core-splashscreen:1.2.0-beta02")
|
implementation(libs.android.palette)
|
||||||
implementation("androidx.palette:palette-ktx:1.0.0")
|
implementation(libs.android.core.telecom)
|
||||||
implementation("androidx.core:core-telecom:1.0.0")
|
implementation(libs.android.core.splashscreen)
|
||||||
|
implementation(libs.android.constraintlayout)
|
||||||
|
implementation(libs.android.constraintlayout.compose)
|
||||||
|
implementation(libs.android.appcompat)
|
||||||
|
implementation(libs.android.material)
|
||||||
|
implementation(libs.android.datastore)
|
||||||
|
implementation(libs.android.datastore.preferences)
|
||||||
|
|
||||||
// Libraries used for legacy View-based UI
|
implementation(libs.hcaptcha)
|
||||||
implementation("androidx.constraintlayout:constraintlayout:2.2.1")
|
|
||||||
implementation("androidx.appcompat:appcompat:1.7.1")
|
|
||||||
implementation("com.google.android.material:material:1.12.0")
|
|
||||||
|
|
||||||
// hCaptcha - captcha provider
|
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
||||||
implementation("com.github.hcaptcha:hcaptcha-android-sdk:3.8.1")
|
|
||||||
|
|
||||||
// JDK Desugaring - polyfill for new Java APIs
|
implementation(libs.media3.exoplayer)
|
||||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
|
implementation(libs.media3.exoplayer.hls)
|
||||||
|
implementation(libs.media3.okhttp)
|
||||||
|
implementation(libs.media3.ui)
|
||||||
|
|
||||||
// AndroidX Media3 w/ ExoPlayer
|
implementation(libs.zoomable.image)
|
||||||
implementation("androidx.media3:media3-exoplayer:$media3Version")
|
implementation(libs.zoomable.image.glide)
|
||||||
implementation("androidx.media3:media3-exoplayer-hls:$media3Version")
|
implementation(libs.haze)
|
||||||
implementation("androidx.media3:media3-datasource-okhttp:$media3Version")
|
implementation(libs.haze.materials)
|
||||||
implementation("androidx.media3:media3-ui:$media3Version")
|
|
||||||
|
|
||||||
// Compose libraries
|
implementation(libs.zxing.core)
|
||||||
implementation("me.saket.telephoto:zoomable-image:1.0.0-alpha02")
|
implementation(libs.quickie.bundled)
|
||||||
implementation("me.saket.telephoto:zoomable-image-glide:1.0.0-alpha02")
|
|
||||||
implementation("androidx.constraintlayout:constraintlayout-compose:1.1.1")
|
|
||||||
implementation("dev.chrisbanes.haze:haze:1.6.4")
|
|
||||||
implementation("dev.chrisbanes.haze:haze-materials:1.6.4")
|
|
||||||
|
|
||||||
// QR code related
|
implementation(libs.sqldelight.android.driver)
|
||||||
implementation("com.google.zxing:core:3.5.3")
|
|
||||||
implementation("io.github.g00fy2.quickie:quickie-bundled:1.11.0")
|
|
||||||
|
|
||||||
// Persistence
|
implementation(libs.jetbrains.markdown)
|
||||||
implementation("app.cash.sqldelight:android-driver:2.0.1")
|
implementation(libs.highlights)
|
||||||
implementation("androidx.datastore:datastore:1.1.7")
|
|
||||||
implementation("androidx.datastore:datastore-preferences:1.1.7")
|
|
||||||
|
|
||||||
// Markup
|
// implementation(libs.livekit.android)
|
||||||
implementation("org.jetbrains:markdown:0.7.3")
|
// implementation(libs.livekit.android.camerax)
|
||||||
implementation("dev.snipme:highlights:1.0.0")
|
// implementation(libs.livekit.android.compose)
|
||||||
|
|
||||||
// Livekit
|
implementation(platform(libs.firebase.bom))
|
||||||
// implementation("io.livekit:livekit-android:${LivekitVersion.core}")
|
implementation(libs.firebase.messaging)
|
||||||
// implementation("io.livekit:livekit-android-camerax:${LivekitVersion.core}")
|
|
||||||
// implementation("io.livekit:livekit-android-compose-components:${LivekitVersion.componentsCompose}")
|
|
||||||
|
|
||||||
// Firebase - Cloud Messaging
|
implementation(libs.shimmer)
|
||||||
implementation(platform("com.google.firebase:firebase-bom:33.15.0"))
|
|
||||||
implementation("com.google.firebase:firebase-messaging")
|
|
||||||
|
|
||||||
// Shimmer - loading animations
|
debugImplementation(libs.chucker)
|
||||||
implementation("com.valentinilk.shimmer:compose-shimmer:1.3.1")
|
releaseImplementation(libs.chucker.noop)
|
||||||
|
|
||||||
// Chucker - HTTP inspector
|
implementation(libs.square.logcat)
|
||||||
debugImplementation("com.github.chuckerteam.chucker:library:4.0.0")
|
|
||||||
releaseImplementation("com.github.chuckerteam.chucker:library-no-op:4.0.0")
|
|
||||||
|
|
||||||
// Square Logcat
|
androidTestImplementation(libs.android.test.core)
|
||||||
implementation("com.squareup.logcat:logcat:0.1")
|
androidTestImplementation(libs.android.test.rules)
|
||||||
|
androidTestImplementation(libs.compose.ui.test.junit4)
|
||||||
// Testing
|
|
||||||
androidTestImplementation("androidx.test:runner:$androidXTestVersion")
|
|
||||||
androidTestImplementation("androidx.test:rules:$androidXTestVersion")
|
|
||||||
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
aboutLibraries {
|
aboutLibraries {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package chat.stoat.api.schemas
|
package chat.stoat.api.schemas
|
||||||
|
|
||||||
import chat.stoat.api.StoatAPI
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
|
@ -8,8 +7,4 @@ import kotlinx.serialization.Serializable
|
||||||
data class Session(
|
data class Session(
|
||||||
@SerialName("_id") val id: String,
|
@SerialName("_id") val id: String,
|
||||||
val name: String
|
val name: String
|
||||||
) {
|
)
|
||||||
fun isCurrent(): Boolean {
|
|
||||||
return id == StoatAPI.sessionId
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ class SessionSettingsScreenViewModel : ViewModel() {
|
||||||
fun fetchSessions() {
|
fun fetchSessions() {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
sessions.addAll(fetchAllSessions())
|
sessions.addAll(fetchAllSessions())
|
||||||
currentSession = sessions.firstOrNull { it.isCurrent() }
|
currentSession = sessions.firstOrNull { it.id === StoatAPI.sessionId }
|
||||||
Log.d(
|
Log.d(
|
||||||
"SessionSettingsScreen",
|
"SessionSettingsScreen",
|
||||||
"Current session: $currentSession. Current session ID: ${StoatAPI.sessionId}"
|
"Current session: $currentSession. Current session ID: ${StoatAPI.sessionId}"
|
||||||
|
|
@ -260,7 +260,7 @@ fun SessionSettingsScreen(
|
||||||
items(viewModel.sessions.size) {
|
items(viewModel.sessions.size) {
|
||||||
val item = viewModel.sessions[it]
|
val item = viewModel.sessions[it]
|
||||||
|
|
||||||
if (item.isCurrent()) {
|
if (item.id == StoatAPI.sessionId) {
|
||||||
return@items
|
return@items
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.11.1" apply false
|
alias(libs.plugins.android.application) apply false
|
||||||
id("com.android.library") version "8.11.1" apply false
|
alias(libs.plugins.android.library) apply false
|
||||||
id("org.jetbrains.kotlin.android") version "2.2.0" apply false
|
alias(libs.plugins.kotlin.android) apply false
|
||||||
id("org.jetbrains.kotlin.plugin.serialization") version "2.2.0" apply false
|
alias(libs.plugins.kotlin.serialization) apply false
|
||||||
id("org.jetbrains.kotlin.plugin.compose") version "2.2.0" apply false
|
alias(libs.plugins.kotlin.compose) apply false
|
||||||
id("com.google.dagger.hilt.android") version "2.57" apply false
|
alias(libs.plugins.kotlin.jvm) apply false
|
||||||
id("com.mikepenz.aboutlibraries.plugin") version "11.3.0-rc02" apply false
|
alias(libs.plugins.hilt) apply false
|
||||||
id("com.google.devtools.ksp") version "2.2.0-2.0.2" apply false
|
alias(libs.plugins.aboutlibraries) apply false
|
||||||
id("com.google.gms.google-services") version "4.4.2" apply false
|
alias(libs.plugins.ksp) apply false
|
||||||
|
alias(libs.plugins.google.services) apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<Delete>("clean") {
|
tasks.register<Delete>("clean") {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/build
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
plugins {
|
||||||
|
id("java-library")
|
||||||
|
id("org.jetbrains.kotlin.jvm")
|
||||||
|
}
|
||||||
|
java {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
kotlin {
|
||||||
|
compilerOptions {
|
||||||
|
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
package chat.stoat.core.model
|
||||||
|
|
||||||
|
class CoreModel {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
[versions]
|
||||||
|
kotlin = "2.2.0"
|
||||||
|
kotlin-serialization = "1.6.3"
|
||||||
|
ksp = "2.2.0-2.0.2"
|
||||||
|
agp = "8.11.1"
|
||||||
|
hilt = "2.57"
|
||||||
|
google-services = "4.4.2"
|
||||||
|
sentry = "8.13.2" # This is separate from the gradle plugin version which is defined ad hoc below
|
||||||
|
sqldelight = "2.0.1"
|
||||||
|
compose-bom = "2025.03.00"
|
||||||
|
material3 = "1.4.0-alpha15"
|
||||||
|
lifecycle = "2.9.1"
|
||||||
|
accompanist = "0.34.0"
|
||||||
|
ktor = "3.3.2"
|
||||||
|
glide = "5.0.5"
|
||||||
|
aboutlibraries = "11.3.0-rc02"
|
||||||
|
media3 = "1.7.1"
|
||||||
|
telephoto = "1.0.0-alpha02"
|
||||||
|
haze = "1.6.4"
|
||||||
|
chucker = "4.0.0"
|
||||||
|
androidx-test = "1.6.1"
|
||||||
|
livekit = "2.21.0"
|
||||||
|
livekit-compose = "1.4.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
android-core-ktx = { module = "androidx.core:core-ktx", version = "1.16.0" }
|
||||||
|
android-profileinstaller = { module = "androidx.profileinstaller:profileinstaller", version = "1.4.1" }
|
||||||
|
android-documentfile = { module = "androidx.documentfile:documentfile", version = "1.1.0" }
|
||||||
|
android-browser = { module = "androidx.browser:browser", version = "1.8.0" }
|
||||||
|
android-webkit = { module = "androidx.webkit:webkit", version = "1.14.0" }
|
||||||
|
android-palette = { module = "androidx.palette:palette-ktx", version = "1.0.0" }
|
||||||
|
android-core-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.2.0-beta02" }
|
||||||
|
android-core-telecom = { module = "androidx.core:core-telecom", version = "1.0.0" }
|
||||||
|
android-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.2.1" }
|
||||||
|
android-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version = "1.1.1" }
|
||||||
|
android-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.1" }
|
||||||
|
android-material = { module = "com.google.android.material:material", version = "1.12.0" }
|
||||||
|
android-test-core = { module = "androidx.test:runner", version.ref = "androidx-test" }
|
||||||
|
android-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test" }
|
||||||
|
android-datastore = { module = "androidx.datastore:datastore", version = "1.1.7" }
|
||||||
|
android-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version = "1.1.7" }
|
||||||
|
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
|
||||||
|
kotlin-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlin-serialization" }
|
||||||
|
kotlin-serialization-cbor = { module = "org.jetbrains.kotlinx:kotlinx-serialization-cbor", version.ref = "kotlin-serialization" }
|
||||||
|
kotlin-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version = "0.4.0" }
|
||||||
|
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
|
||||||
|
compose-ui = { module = "androidx.compose.ui:ui", version = "1.8.2" }
|
||||||
|
compose-ui-util = { module = "androidx.compose.ui:ui-util" }
|
||||||
|
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
||||||
|
compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
|
||||||
|
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" }
|
||||||
|
compose-material3-windowsizeclass = { module = "androidx.compose.material3:material3-window-size-class", version.ref = "material3" }
|
||||||
|
compose-material-icons-core = { module = "androidx.compose.material:material-icons-core", version = "1.7.8" }
|
||||||
|
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
|
||||||
|
compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }
|
||||||
|
compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" }
|
||||||
|
lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" }
|
||||||
|
lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" }
|
||||||
|
activity-compose = { module = "androidx.activity:activity-compose", version = "1.10.1" }
|
||||||
|
accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" }
|
||||||
|
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" }
|
||||||
|
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
||||||
|
ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
|
||||||
|
ktor-client-contentnegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
||||||
|
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
||||||
|
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
|
||||||
|
navigation-compose = { module = "androidx.navigation:navigation-compose", version = "2.9.0" }
|
||||||
|
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
|
||||||
|
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version = "1.2.0" }
|
||||||
|
hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
|
||||||
|
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
|
||||||
|
glide-compose = { module = "com.github.bumptech.glide:compose", version = "1.0.0-beta01" }
|
||||||
|
glide-ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
|
||||||
|
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
|
||||||
|
sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentry" }
|
||||||
|
sentry-compose-android = { module = "io.sentry:sentry-compose-android", version.ref = "sentry" }
|
||||||
|
hcaptcha = { module = "com.github.hcaptcha:hcaptcha-android-sdk", version = "3.8.1" }
|
||||||
|
desugar-jdk-libs = { module = "com.android.tools:desugar_jdk_libs", version = "2.1.5" }
|
||||||
|
media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
|
||||||
|
media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3" }
|
||||||
|
media3-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
|
||||||
|
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
|
||||||
|
zoomable-image = { module = "me.saket.telephoto:zoomable-image", version.ref = "telephoto" }
|
||||||
|
zoomable-image-glide = { module = "me.saket.telephoto:zoomable-image-glide", version.ref = "telephoto" }
|
||||||
|
haze = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" }
|
||||||
|
haze-materials = { module = "dev.chrisbanes.haze:haze-materials", version.ref = "haze" }
|
||||||
|
zxing-core = { module = "com.google.zxing:core", version = "3.5.3" }
|
||||||
|
quickie-bundled = { module = "io.github.g00fy2.quickie:quickie-bundled", version = "1.11.0" }
|
||||||
|
sqldelight-android-driver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }
|
||||||
|
jetbrains-markdown = { module = "org.jetbrains:markdown", version = "0.7.3" }
|
||||||
|
highlights = { module = "dev.snipme:highlights", version = "1.0.0" }
|
||||||
|
firebase-bom = { module = "com.google.firebase:firebase-bom", version = "33.15.0" }
|
||||||
|
firebase-messaging = { module = "com.google.firebase:firebase-messaging" }
|
||||||
|
shimmer = { module = "com.valentinilk.shimmer:compose-shimmer", version = "1.3.1" }
|
||||||
|
chucker = { module = "com.github.chuckerteam.chucker:library", version.ref = "chucker" }
|
||||||
|
chucker-noop = { module = "com.github.chuckerteam.chucker:library-noop", version.ref = "chucker" }
|
||||||
|
square-logcat = { module = "com.squareup.logcat:logcat", version = "0.1" }
|
||||||
|
livekit-android = { module = "io.livekit:livekit-android", version.ref = "livekit" }
|
||||||
|
livekit-android-camerax = { module = "io.livekit:android-camerax", version.ref = "livekit" }
|
||||||
|
livekit-android-compose = { module = "io.livekit:livekit-android-compose-components", version.ref = "livekit-compose" }
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
android-library = { id = "com.android.library", version.ref = "agp" }
|
||||||
|
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||||
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||||
|
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||||
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||||
|
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
|
||||||
|
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
|
||||||
|
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||||
|
google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
|
||||||
|
sentry-android = { id = "io.sentry.android.gradle", version = "4.12.0" }
|
||||||
|
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
|
||||||
|
|
@ -25,3 +25,4 @@ dependencyResolutionManagement {
|
||||||
}
|
}
|
||||||
rootProject.name = "Stoat"
|
rootProject.name = "Stoat"
|
||||||
include(":app")
|
include(":app")
|
||||||
|
include(":core:model")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue