diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java index fd85b3934e25c..edb51b97cca73 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java @@ -665,6 +665,19 @@ public NativeImageInvokerInfo build() { //address https://github.com/quarkusio/quarkus-quickstarts/issues/993 nativeImageArgs.add("-J--add-opens=java.base/java.text=ALL-UNNAMED"); + if (nativeConfig.enableReports) { + if (graalVMVersion.isOlderThan(GraalVM.Version.VERSION_22_0_0_2)) { + nativeImageArgs.add("-H:+PrintAnalysisCallTree"); + } else { + nativeImageArgs.add("-H:PrintAnalysisCallTreeType=CSV"); + } + } + + /* + * Any parameters following this call are forced over the user provided parameters in + * quarkus.native.additional-build-args. So if you need a parameter to be overridable through + * quarkus.native.additional-build-args please make sure to add it before this call. + */ handleAdditionalProperties(nativeImageArgs); nativeImageArgs.add( @@ -713,9 +726,6 @@ public NativeImageInvokerInfo build() { .add("-J-Xrunjdwp:transport=dt_socket,address=" + debugBuildProcessHost + ":" + DEBUG_BUILD_PROCESS_PORT + ",server=y,suspend=y"); } - if (nativeConfig.enableReports) { - nativeImageArgs.add("-H:+PrintAnalysisCallTree"); - } if (nativeConfig.dumpProxies) { nativeImageArgs.add("-Dsun.misc.ProxyGenerator.saveGeneratedFiles=true"); }