import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("jvm") version "2.3.20" id("org.jetbrains.compose") version "1.10.3" id("org.jetbrains.kotlin.plugin.compose") version "2.3.20" kotlin("plugin.serialization") version "2.3.20" } kotlin { jvmToolchain(25) } repositories { mavenCentral() google() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } dependencies { implementation(compose.desktop.currentOs) implementation(compose.materialIconsExtended) // Global hotkeys implementation("com.github.kwhat:jnativehook:2.2.2") // AnyType API (HTTP) val ktorVersion = "3.0.0" implementation("io.ktor:ktor-client-core:$ktorVersion") implementation("io.ktor:ktor-client-cio:$ktorVersion") implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") // Coroutines (Swing/AWT dispatcher) implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.9.0") // YAML config implementation("com.charleskorn.kaml:kaml:0.67.0") // Logging implementation("org.apache.logging.log4j:log4j-api:2.24.3") implementation("org.apache.logging.log4j:log4j-core:2.24.3") } compose.desktop { application { mainClass = "ch.ergon.anytask.MainKt" // Allow access to AWT Classes to control the window jvmArgs("--add-opens", "java.desktop/com.apple.eawt=ALL-UNNAMED") nativeDistributions { targetFormats(TargetFormat.Dmg) packageName = "AnyTask" packageVersion = "1.0.0" macOS { bundleID = "ch.ergon.anytask" } } } }