Skip to content

Commit a09c5f2

Browse files
committed
native image support
1 parent 2bd8e94 commit a09c5f2

File tree

4 files changed

+624
-8
lines changed

4 files changed

+624
-8
lines changed

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ kmpNativeCoroutines = "1.0.0-ALPHA-45"
2020
kmpObservableViewModel = "1.0.0-BETA-12"
2121
kstore = "1.0.0"
2222
ktor = "3.2.2"
23+
logbackClassic = "1.5.18"
2324
treemapChart = "0.1.3"
2425
voyager= "1.1.0-beta03"
2526
molecule = "2.1.0"
@@ -58,6 +59,7 @@ ktor-client-android = { group = "io.ktor", name = "ktor-client-android", version
5859
ktor-client-darwin = { group = "io.ktor", name = "ktor-client-darwin", version.ref = "ktor" }
5960
ktor-client-java = { group = "io.ktor", name = "ktor-client-java", version.ref = "ktor" }
6061

62+
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logbackClassic" }
6163
voyager = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
6264
harawata-appdirs = { module = "net.harawata:appdirs", version.ref = "harawata-appdirs" }
6365
koalaplot = { module = "io.github.koalaplot:koalaplot-core", version.ref = "koalaplot" }

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

mcp-server/build.gradle.kts

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,48 @@
1+
@file:Suppress("UnstableApiUsage")
2+
13
plugins {
24
alias(libs.plugins.kotlinJvm)
35
alias(libs.plugins.kotlinx.serialization)
4-
alias(libs.plugins.shadowPlugin)
56
application
7+
id("org.graalvm.buildtools.native") version "0.11.0"
68
}
79

810
dependencies {
911
implementation(libs.mcp.kotlin)
1012
implementation(libs.koin.core)
1113
implementation(projects.composeApp)
14+
implementation(libs.logback.classic)
1215
}
1316

1417
java {
1518
toolchain {
16-
languageVersion = JavaLanguageVersion.of(17)
19+
languageVersion.set(JavaLanguageVersion.of(24))
20+
vendor.set(JvmVendorSpec.GRAAL_VM)
21+
nativeImageCapable.set(true)
1722
}
1823
}
1924

2025
application {
2126
mainClass = "MainKt"
2227
}
2328

24-
tasks.shadowJar {
25-
archiveFileName.set("serverAll.jar")
26-
archiveClassifier.set("")
27-
manifest {
28-
attributes["Main-Class"] = "MainKt"
29+
graalvmNative {
30+
agent {
31+
enabled.set(true)
32+
}
33+
34+
binaries {
35+
all {
36+
javaLauncher.set(javaToolchains.launcherFor {
37+
languageVersion.set(JavaLanguageVersion.of(24))
38+
vendor.set(JvmVendorSpec.GRAAL_VM)
39+
nativeImageCapable.set(true)
40+
})
41+
}
42+
named("main") {
43+
imageName.set("climate-trace-mcp")
44+
mainClass.set("MainKt")
45+
}
2946
}
3047
}
3148

0 commit comments

Comments
 (0)