Files
AnyTask/build.gradle.kts
T
2026-05-15 23:54:06 +02:00

66 lines
1.9 KiB
Kotlin

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")
implementation("org.apache.logging.log4j:log4j-slf4j2-impl: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")
// Skiko / JNativeHook load native libraries via System.load() — JDK 22+ requires explicit native access
jvmArgs("--enable-native-access=ALL-UNNAMED")
nativeDistributions {
targetFormats(TargetFormat.Dmg)
packageName = "AnyTask"
packageVersion = "1.0.0"
macOS {
bundleID = "ch.ergon.anytask"
}
}
}
}