Clean build

This commit is contained in:
Hubert Van De Walle 2021-04-03 18:39:06 +02:00
parent f037c6a724
commit 907fdb4f10
6 changed files with 48 additions and 25 deletions

View File

@ -1,8 +1,12 @@
plugins {
id("kotlin-application")
id("com.github.johnrengelman.shadow") version "6.1.0"
id("shadow")
id("native-image")
id("release")
}
version = "0.0.1-SNAPSHOT"
dependencies {
implementation("org.slf4j:slf4j-api:2.0.0-alpha1")
runtimeOnly("org.slf4j:slf4j-simple:2.0.0-alpha1")
@ -16,27 +20,3 @@ application {
mainClass.set("scaffold.ScaffoldKt")
applicationName = "scaffold"
}
tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
archiveBaseName.set("scaffold")
archiveClassifier.set("")
archiveVersion.set("")
}
task("buildNative") {
dependsOn("installShadowDist")
doLast {
exec {
commandLine(
"native-image",
"--no-fallback",
"-R:MaxNewSize=32",
"--language:js",
"-jar",
"${project.buildDir}/install/app-shadow/lib/scaffold.jar",
"${project.buildDir}/native/scaffold"
)
}
}
}

View File

@ -13,4 +13,5 @@ repositories {
dependencies {
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.4.31"))
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31")
implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0")
}

View File

@ -0,0 +1,21 @@
task("buildNative") {
dependsOn("installShadowDist")
outputs.file("${buildDir}/native/scaffold")
doLast {
val graalvmHome = System.getenv("GRAALVM_HOME") ?: error("GRAALVM_HOME is not set")
exec {
commandLine(
"${graalvmHome}/bin/native-image",
"--no-fallback",
"-R:MaxNewSize=32",
"--language:js",
"-jar",
"${buildDir}/install/app-shadow/lib/scaffold.jar",
"${buildDir}/native/scaffold"
)
}
}
}

View File

@ -0,0 +1,7 @@
tasks.register<Zip>("release") {
dependsOn("buildNative")
archiveFileName.set("scaffold-${archiveVersion.get()}-linux.zip")
destinationDirectory.set(file("$buildDir/release"))
from("$buildDir/native/scaffold")
}

View File

@ -0,0 +1,11 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id("com.github.johnrengelman.shadow")
}
tasks.withType<ShadowJar> {
archiveBaseName.set("scaffold")
archiveClassifier.set("")
archiveVersion.set("")
}

3
gradle.properties Normal file
View File

@ -0,0 +1,3 @@
org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -Dfile.encoding=UTF-8
org.gradle.caching=true
org.gradle.parallel=true