Skip to content

Commit 03eeba2

Browse files
committed
Revert "Use GraalVM to build single binary"
This reverts commit 79ef299.
1 parent 79ef299 commit 03eeba2

File tree

4 files changed

+44
-1023
lines changed

4 files changed

+44
-1023
lines changed

.github/workflows/client.yaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@ jobs:
88
runs-on: windows-latest
99
steps:
1010
- uses: actions/checkout@v4
11-
- uses: graalvm/setup-graalvm@v1
11+
- uses: actions/setup-java@v4
1212
with:
13-
java-version: '23'
14-
distribution: 'graalvm-community'
15-
components: 'native-image'
13+
distribution: "temurin"
14+
java-version: "23"
1615
- uses: gradle/actions/setup-gradle@v4
17-
- run: ./gradlew client:nativeCompile
16+
- run: ./gradlew client:packageDist
1817
- name: Release
1918
uses: softprops/action-gh-release@v2
2019
if: ${{ github.ref == 'refs/heads/main' }}
2120
with:
2221
tag_name: ${{ github.run_number }}
23-
files: client/build/native/nativeCompile/client.exe
22+
files: client/build/dist/*.tar.gz

client/build.gradle.kts

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
1+
import org.panteleyev.jpackage.ImageType
2+
13
plugins {
24
id("buildsrc.convention.kotlin-jvm")
3-
id("org.graalvm.buildtools.native") version "0.10.5"
4-
application
5+
id("org.panteleyev.jpackageplugin") version "1.6.1"
56
}
67

78
version = "1.0.0"
89

9-
configurations {
10-
nativeImageCompileOnly {
11-
isCanBeResolved = true
12-
}
13-
}
14-
1510
dependencies {
1611
implementation(libs.jnativehook)
1712
implementation(libs.ktor.client.okhttp)
@@ -20,17 +15,37 @@ dependencies {
2015
implementation(libs.slf4j.simple)
2116
}
2217

23-
application {
24-
mainClass = "dev.schlaubi.mastermind.MainKt"
25-
applicationDefaultJvmArgs = listOf("-agentlib:native-image-agent=config-output-dir=C:\\Users\\micha\\IdeaProjects\\gtakiller\\output.json")
26-
}
18+
tasks {
19+
val copyDependencies by registering(Copy::class) {
20+
from(configurations.runtimeClasspath).into(layout.buildDirectory.dir("jars"))
21+
}
22+
23+
val copyJar by registering(Copy::class) {
24+
from(jar).into(layout.buildDirectory.dir("jars"))
25+
}
26+
27+
jpackage {
28+
dependsOn(build, copyDependencies, copyJar)
29+
winConsole = true
30+
31+
input = layout.buildDirectory.dir("jars").get().asFile.absolutePath
32+
33+
appName = "GTA KILL"
34+
vendor = "Schlaubi"
35+
type = ImageType.APP_IMAGE
36+
37+
mainJar = jar.get().archiveFile.get().asFile.absolutePath
38+
mainClass = "dev.schlaubi.mastermind.MainKt"
39+
40+
destination = layout.buildDirectory.dir("dist").get().asFile.absolutePath
41+
}
2742

28-
graalvmNative {
29-
toolchainDetection = true
43+
register<Tar>("packageDist") {
44+
dependsOn(jpackage)
45+
from(jpackage.get().destination + "/" + jpackage.get().appName)
3046

31-
binaries {
32-
named("main") {
33-
mainClass = "dev.schlaubi.mastermind.MainKt"
34-
}
47+
compression = Compression.GZIP
48+
archiveExtension = "tar.gz"
49+
destinationDirectory = layout.buildDirectory.dir("dist")
3550
}
3651
}

0 commit comments

Comments
 (0)