Skip to content

Instantly share code, notes, and snippets.

@BetterProgramming
Last active November 9, 2022 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BetterProgramming/2c43d1503b2760d19d7dc43475eb31f7 to your computer and use it in GitHub Desktop.
Save BetterProgramming/2c43d1503b2760d19d7dc43475eb31f7 to your computer and use it in GitHub Desktop.
graalvmNative {
binaries {
named("main") {
fallback.set(false)
verbose.set(true)
buildArgs.add("--initialize-at-build-time=io.ktor,kotlin,ch.qos.logback,kotlinx.serialization,org.slf4j,io.netty")
buildArgs.add("--initialize-at-build-time=kotlinx.coroutines")
buildArgs.add("--initialize-at-run-time=io.netty.channel.DefaultFileRegion")
buildArgs.add("--initialize-at-run-time=io.netty.channel.epoll.Native")
buildArgs.add("--initialize-at-run-time=io.netty.channel.epoll.Epoll")
buildArgs.add("--initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop")
buildArgs.add("--initialize-at-run-time=io.netty.channel.epoll.EpollEventArray")
buildArgs.add("--initialize-at-run-time=io.netty.channel.kqueue.KQueue")
buildArgs.add("--initialize-at-run-time=io.netty.channel.kqueue.KQueueEventLoop")
buildArgs.add("--initialize-at-run-time=io.netty.channel.kqueue.KQueueEventArray")
buildArgs.add("--initialize-at-run-time=io.netty.channel.kqueue.Native")
buildArgs.add("--initialize-at-run-time=io.netty.channel.unix.Limits")
buildArgs.add("--initialize-at-run-time=io.netty.channel.unix.Errors")
buildArgs.add("--initialize-at-run-time=io.netty.channel.unix.IovArray")
buildArgs.add("--enable-url-protocols=https")
buildArgs.add("-H:+InstallExitHandlers")
buildArgs.add("-H:+PrintClassInitialization")
buildArgs.add("-H:+ReportUnsupportedElementsAtRuntime")
buildArgs.add("-H:+ReportExceptionStackTraces")
buildArgs.add("-H:ReflectionConfigurationFiles=${projectDir}/src/main/resources/META-INF/native-image/reflect-config.json")
buildArgs.add("""-H:ResourceConfigurationFiles=
|${projectDir}/src/main/resources/META-INF/native-image/kotlin-resource.json,
|${projectDir}/src/main/resources/META-INF/native-image/resource-config.json""".trimMargin().replace(System.lineSeparator(), ""))
imageName.set("otp_graalvm_service")
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment