Complete Kotlin Multiplatform migration with iOS parity: - All 13 modules converted to KMP (commonMain + androidMain + iosMain) - 100% feature parity: auth, chat, SSE streaming, conversations, settings, agents, files, voice input, TTS, OAuth, file picker, clipboard paste - Platform consolidation: DataStore path, SessionCacheCleaner, bubble layouts, ChatInput core, MIME types, mention parsing, TextField styling, FilterChip components extracted to commonMain - iOS crash reporting via Kotlin/Native exception hook - YAML parsing via custom pure-Kotlin parser (zero dependencies) - Dependency health: Timber removed, kaml replaced, FuzzyWuzzy removed, security-crypto stabilized - CONTRIBUTING.md - Gradle configuration cache enabled
42 lines
1.4 KiB
Text
42 lines
1.4 KiB
Text
plugins {
|
|
id("librechat.kmp.library")
|
|
id("librechat.kmp.koin")
|
|
id("librechat.kmp.room")
|
|
id("librechat.kotlin.serialization")
|
|
}
|
|
|
|
android {
|
|
namespace = "com.librechat.android.core.data"
|
|
}
|
|
|
|
kotlin {
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
implementation(project(":core:network"))
|
|
implementation(project(":core:model"))
|
|
implementation(project(":core:common"))
|
|
implementation(libs.datastore.preferences)
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.content.negotiation)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
implementation(libs.ktor.client.logging)
|
|
implementation(libs.kotlinx.serialization.json)
|
|
implementation(libs.kotlinx.datetime)
|
|
implementation(libs.kermit)
|
|
}
|
|
androidMain.dependencies {
|
|
implementation(libs.koin.android)
|
|
implementation(libs.security.crypto)
|
|
}
|
|
named("androidUnitTest").dependencies {
|
|
implementation(libs.koin.test)
|
|
}
|
|
named("androidInstrumentedTest").dependencies {
|
|
implementation(libs.room.testing)
|
|
implementation(libs.truth)
|
|
implementation(libs.coroutines.test)
|
|
implementation(libs.android.test.runner)
|
|
implementation(libs.android.test.ext.junit)
|
|
}
|
|
}
|
|
}
|