Skip to content

Commit

Permalink
Revert "Use GraalVM to build single binary"
Browse files Browse the repository at this point in the history
This reverts commit 79ef299.
  • Loading branch information
DRSchlaubi committed Feb 12, 2025
1 parent 79ef299 commit 03eeba2
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 1,023 deletions.
11 changes: 5 additions & 6 deletions .github/workflows/client.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,15 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: graalvm/setup-graalvm@v1
- uses: actions/setup-java@v4
with:
java-version: '23'
distribution: 'graalvm-community'
components: 'native-image'
distribution: "temurin"
java-version: "23"
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew client:nativeCompile
- run: ./gradlew client:packageDist
- name: Release
uses: softprops/action-gh-release@v2
if: ${{ github.ref == 'refs/heads/main' }}
with:
tag_name: ${{ github.run_number }}
files: client/build/native/nativeCompile/client.exe
files: client/build/dist/*.tar.gz
51 changes: 33 additions & 18 deletions client/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
import org.panteleyev.jpackage.ImageType

plugins {
id("buildsrc.convention.kotlin-jvm")
id("org.graalvm.buildtools.native") version "0.10.5"
application
id("org.panteleyev.jpackageplugin") version "1.6.1"
}

version = "1.0.0"

configurations {
nativeImageCompileOnly {
isCanBeResolved = true
}
}

dependencies {
implementation(libs.jnativehook)
implementation(libs.ktor.client.okhttp)
Expand All @@ -20,17 +15,37 @@ dependencies {
implementation(libs.slf4j.simple)
}

application {
mainClass = "dev.schlaubi.mastermind.MainKt"
applicationDefaultJvmArgs = listOf("-agentlib:native-image-agent=config-output-dir=C:\\Users\\micha\\IdeaProjects\\gtakiller\\output.json")
}
tasks {
val copyDependencies by registering(Copy::class) {
from(configurations.runtimeClasspath).into(layout.buildDirectory.dir("jars"))
}

val copyJar by registering(Copy::class) {
from(jar).into(layout.buildDirectory.dir("jars"))
}

jpackage {
dependsOn(build, copyDependencies, copyJar)
winConsole = true

input = layout.buildDirectory.dir("jars").get().asFile.absolutePath

appName = "GTA KILL"
vendor = "Schlaubi"
type = ImageType.APP_IMAGE

mainJar = jar.get().archiveFile.get().asFile.absolutePath
mainClass = "dev.schlaubi.mastermind.MainKt"

destination = layout.buildDirectory.dir("dist").get().asFile.absolutePath
}

graalvmNative {
toolchainDetection = true
register<Tar>("packageDist") {
dependsOn(jpackage)
from(jpackage.get().destination + "/" + jpackage.get().appName)

binaries {
named("main") {
mainClass = "dev.schlaubi.mastermind.MainKt"
}
compression = Compression.GZIP
archiveExtension = "tar.gz"
destinationDirectory = layout.buildDirectory.dir("dist")
}
}
Loading

0 comments on commit 03eeba2

Please sign in to comment.