From 7a7ebe724e43a3a466c05da360e4cebf644fbba9 Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Thu, 1 Apr 2021 23:48:31 +0200 Subject: [PATCH] Add GraalVM native image --- README.md | 8 ++++++++ app/resources/META-INF/native-image/reflect-config.json | 5 +++++ app/resources/META-INF/native-image/resource-config.json | 5 +++++ buildSrc/src/main/kotlin/java-convention.gradle.kts | 4 ++-- buildSrc/src/main/kotlin/kotlin-convention.gradle.kts | 2 +- 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 app/resources/META-INF/native-image/reflect-config.json create mode 100644 app/resources/META-INF/native-image/resource-config.json diff --git a/README.md b/README.md index ebeaafc..805e0d3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ cd app/build/install/app-shadow Move the executable somewhere in your $PATH +Or build a native image with GraalVM + +```bash +./gradlew installShadowDist +cd app/build/install/app-shadow/lib +native-image --no-fallback -R:MaxNewSize=32 -jar scaffold.jar +``` + ## Usage ### Create a generator diff --git a/app/resources/META-INF/native-image/reflect-config.json b/app/resources/META-INF/native-image/reflect-config.json new file mode 100644 index 0000000..e5d3dbc --- /dev/null +++ b/app/resources/META-INF/native-image/reflect-config.json @@ -0,0 +1,5 @@ +[ +{ + "name":"com.electronwill.nightconfig.toml.TomlFormat" +} +] diff --git a/app/resources/META-INF/native-image/resource-config.json b/app/resources/META-INF/native-image/resource-config.json new file mode 100644 index 0000000..6611a21 --- /dev/null +++ b/app/resources/META-INF/native-image/resource-config.json @@ -0,0 +1,5 @@ +{ + "resources":{ + "includes":[{"pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"}]}, + "bundles":[] +} diff --git a/buildSrc/src/main/kotlin/java-convention.gradle.kts b/buildSrc/src/main/kotlin/java-convention.gradle.kts index ab553e8..57939e7 100644 --- a/buildSrc/src/main/kotlin/java-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/java-convention.gradle.kts @@ -12,8 +12,8 @@ repositories { } java { - targetCompatibility = JavaVersion.toVersion(15) - sourceCompatibility = JavaVersion.toVersion(15) + targetCompatibility = JavaVersion.toVersion(11) + sourceCompatibility = JavaVersion.toVersion(11) } tasks.withType { diff --git a/buildSrc/src/main/kotlin/kotlin-convention.gradle.kts b/buildSrc/src/main/kotlin/kotlin-convention.gradle.kts index cda0178..f5728e3 100644 --- a/buildSrc/src/main/kotlin/kotlin-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/kotlin-convention.gradle.kts @@ -17,7 +17,7 @@ tasks.withType { tasks.withType { kotlinOptions { - jvmTarget = "15" + jvmTarget = "11" javaParameters = true freeCompilerArgs = listOf("-Xopt-in=kotlin.RequiresOptIn") }