298d8e0b69
lib-core: - core/phone/: PhoneState, PhoneActions, GlassesSender (интерфейс) — перенесены из app-host - core/net/: GlassesWsClient — KMP WS-клиент очков (реконнект, Hello, send GlassesToHost) - GlassesWsClientTest + PhoneActionsTest (перенесён) app-phone (Android): - GlassesServer: Ktor WS-сервер (CIO) 0.0.0.0:8080/ws/glasses, принимает очки, Welcome из стейта - PhoneApp (Application): клиенты, стейт, действия, сервер - PhoneConfig: креды Jellyfin/Mirror - MainActivity: статус сервера (порт, счётчик подключений) - GlassesServerTest: hello→welcome, gesture app-glasses (Android): - GlassesApp (Application), HostConnection: WS-клиент к телефону, Hello, реконнект, обработка HostToGlasses (PlayVideo/SetMode и т.д.), StateFlow для UI - MainActivity: статус подключения app-host: PhoneActions/PhoneState удалены (теперь lib-core), адаптирован под GlassesSender 171 тест, 0 провалов; app-host жив (catalog/watch/status работают через lib-core)
60 lines
1.8 KiB
Kotlin
60 lines
1.8 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.android.library)
|
|
alias(libs.plugins.kotlinx.serialization)
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(17)
|
|
|
|
androidTarget {
|
|
compilerOptions {
|
|
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
|
|
}
|
|
}
|
|
jvm()
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
implementation(libs.kotlinx.serialization.json)
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.websockets)
|
|
implementation(libs.ktor.client.content.negotiation)
|
|
implementation(libs.ktor.client.logging)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
}
|
|
commonTest.dependencies {
|
|
implementation(kotlin("test"))
|
|
implementation(libs.ktor.client.mock)
|
|
implementation(libs.kotlinx.coroutines.test)
|
|
}
|
|
androidMain.dependencies {
|
|
implementation(libs.kotlinx.coroutines.android)
|
|
implementation(libs.ktor.client.okhttp)
|
|
}
|
|
jvmMain.dependencies {
|
|
implementation(libs.ktor.client.cio)
|
|
}
|
|
jvmTest.dependencies {
|
|
implementation(libs.ktor.client.websockets)
|
|
implementation("io.ktor:ktor-server-core:3.3.0")
|
|
implementation("io.ktor:ktor-server-cio:3.3.0")
|
|
implementation("io.ktor:ktor-server-websockets:3.3.0")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json:3.3.0")
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "pw.binom.viewmate.core"
|
|
compileSdk = 35
|
|
defaultConfig {
|
|
minSdk = 26
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
}
|