Skip to content

Commit

Permalink
build: GraalVM minor adjustements
Browse files Browse the repository at this point in the history
  • Loading branch information
marcospereira committed Nov 28, 2023
1 parent 1cc5246 commit 1e3cb22
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ tasks.register("dockerImageNameNative") {
}
}
}
tasks.register("dockerImageName") { dependsOn("dockerImageNameNative") } // This is how Gradle add aliases.

// See https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html
graalvmNative {
Expand All @@ -127,16 +128,22 @@ graalvmNative {
named("main") {
fallback.set(false)
richOutput.set(true)
buildArgs.add("--verbose")
buildArgs.add("--gc=G1")
buildArgs.addAll("--verbose", "-march=native")
buildArgs.addAll("--gc=G1", "-XX:MaxRAMPercentage=100")
if (ci) {
// A little extra verbose on CI to prevent jobs being killed
// due to the lack of output (since native-image creation can
// take a long time to complete).
jvmArgs.add("-Xlog:gc")
jvmArgs.add("-Xlog:gc*")
// 7GB is what is available when using Github-hosted runners:
// https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
buildArgs.addAll("-J-Xmx7G", "-XX:MaxRAMPercentage=100")
buildArgs.addAll("-J-Xmx7G")
} else {
// `gc` is less verbose than `gc*`, and good enough for local builds.
jvmArgs.add("-Xlog:gc")
// 16G is a good chunk of memory, but reducing GC speeds up
// the native image generation.
buildArgs.addAll("-J-Xmx16G")
}
}
}
Expand Down Expand Up @@ -239,13 +246,17 @@ tasks.named<DependencyUpdatesTask>("dependencyUpdates") {
dependencies {
ksp(mn.micronaut.http.validation)
ksp(mn.micronaut.serde.processor)
implementation(mn.micronaut.kotlin.extension.functions)
implementation(mn.micronaut.aop)
implementation(mn.micronaut.kotlin.runtime)
implementation(mn.micronaut.kotlin.extension.functions)
implementation(mn.micronaut.serde.jackson)
implementation(mn.micronaut.views.jte)
implementation(mn.micronaut.management)
compileOnly(mn.micronaut.http.client)
testImplementation(mn.micronaut.http.client)

// Creates a dependency provider for graal (org.graalvm.nativeimage:svm)
compileOnly(mn.graal.asProvider())
runtimeOnly(mn.logback.classic)
runtimeOnly(mn.jackson.module.kotlin)

Expand Down

0 comments on commit 1e3cb22

Please sign in to comment.