88 lines
3.4 KiB
Plaintext
88 lines
3.4 KiB
Plaintext
plugins {
|
|
kotlin("jvm")
|
|
id("org.jetbrains.compose") version "1.7.3"
|
|
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
google()
|
|
}
|
|
|
|
dependencies {
|
|
// Client dependencies - only what's needed for desktop app
|
|
implementation(projects.client.commonUi)
|
|
implementation(projects.client.webApp) // Only if truly needed for shared screens
|
|
|
|
// Core dependencies - minimal set
|
|
implementation(projects.core.coreDomain)
|
|
implementation(projects.core.coreUtils)
|
|
|
|
// Remove unnecessary infrastructure dependencies
|
|
// implementation(projects.infrastructure.auth.authClient) // Only if auth is needed
|
|
// implementation(projects.infrastructure.cache.redisCache) // Not needed in client
|
|
// implementation(projects.infrastructure.eventStore.redisEventStore) // Not needed in client
|
|
|
|
// Remove domain module dependencies - should go through API
|
|
// implementation(projects.events.eventsDomain) // Access through API instead
|
|
// implementation(projects.horses.horsesDomain) // Access through API instead
|
|
// implementation(projects.masterdata.masterdataDomain) // Access through API instead
|
|
|
|
// Remove Spring Boot dependencies - not needed for desktop client
|
|
// implementation("org.springframework.boot:spring-boot-starter")
|
|
|
|
// Remove Redis dependencies - not needed for desktop client
|
|
// implementation("org.redisson:redisson:3.27.2")
|
|
// implementation("io.lettuce:lettuce-core:6.3.2.RELEASE")
|
|
|
|
// Keep only essential Kotlinx dependencies
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.0") // Changed from javafx to swing
|
|
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
|
implementation("com.benasher44:uuid:0.8.4")
|
|
|
|
// Compose dependencies - keep as needed for desktop UI
|
|
implementation(compose.desktop.currentOs)
|
|
implementation(compose.runtime)
|
|
implementation(compose.foundation)
|
|
implementation(compose.material3)
|
|
implementation(compose.ui)
|
|
implementation(compose.components.resources)
|
|
implementation(compose.materialIconsExtended)
|
|
|
|
// Testing
|
|
testImplementation(projects.platform.platformTesting)
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.0")
|
|
}
|
|
|
|
// Desktop application configuration
|
|
compose.desktop {
|
|
application {
|
|
mainClass = "at.mocode.client.desktop.MainKt"
|
|
|
|
nativeDistributions {
|
|
targetFormats(
|
|
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Dmg,
|
|
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Msi,
|
|
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Deb
|
|
)
|
|
packageName = "Meldestelle Desktop"
|
|
packageVersion = "1.0.0"
|
|
description = "Meldestelle Desktop Application"
|
|
copyright = "© 2024 MoCode. All rights reserved."
|
|
vendor = "MoCode"
|
|
|
|
windows {
|
|
iconFile.set(project.file("src/main/resources/icon.ico"))
|
|
}
|
|
macOS {
|
|
iconFile.set(project.file("src/main/resources/icon.icns"))
|
|
}
|
|
linux {
|
|
iconFile.set(project.file("src/main/resources/icon.png"))
|
|
}
|
|
}
|
|
}
|
|
}
|