diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41ca2a2..c4cb32d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,9 +18,12 @@ build: script: - ./gradlew jar - mv build/libs/*.jar build/libs/2009scape.jar + - ./gradlew packageExecutableDistribution + - mv build/distExecutable/*.zip build/libs/2009scape.zip artifacts: paths: - build/libs/*.jar + - build/libs/*.zip expire_in: 1 week only: - master diff --git a/build.gradle b/build.gradle index f007f90..1348b03 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ plugins { id 'org.jetbrains.kotlin.jvm' version '1.4.32' + id 'edu.sc.seis.launch4j' version '2.5.0' } group 'org.rs09' @@ -19,4 +20,31 @@ jar { attributes 'Main-Class': 'MainWindow' } from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } } -} \ No newline at end of file +} + +launch4j { + mainClassName = "MainWindow" + icon = "${projectDir}/src/main/resources/09logo.ico" + jarTask = project.tasks.jar + bundledJre64Bit = false + bundledJrePath = "jre" + downloadUrl = "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.msi" + outfile = "2009scape.exe" + copyright = "2009scape" + companyName = "2009scape" +} + +task packageExecutableDistribution(type: Zip) { + archiveName = "2009scape.zip" + destinationDir = file("$buildDir/distExecutable") + + from "$buildDir/launch4j" +} + +task addJreToDistributable(type: Copy) { + from files("${projectDir}/launch4j") + destinationDir = file("$buildDir/launch4j") +} + +packageExecutableDistribution.dependsOn createExe +packageExecutableDistribution.dependsOn addJreToDistributable \ No newline at end of file