From 4120ac93bc18a93f773b8eb2612220a9598dd6ee Mon Sep 17 00:00:00 2001 From: Sanne Grinovero Date: Sun, 14 Oct 2018 20:36:10 +0100 Subject: [PATCH] Add a flag to enable UseServiceLoaderFeature, disabled by default --- .../org/jboss/shamrock/maven/NativeImageMojo.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java b/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java index 1cf4a3193d49e..10da61c377cef 100644 --- a/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java +++ b/maven/src/main/java/org/jboss/shamrock/maven/NativeImageMojo.java @@ -70,6 +70,9 @@ public class NativeImageMojo extends AbstractMojo { @Parameter(defaultValue = "false") private boolean enableJni; + @Parameter(defaultValue = "false") + private boolean autoServiceLoaderRegistration; + @Parameter(defaultValue = "false") private boolean dumpProxies; @@ -182,12 +185,21 @@ public void execute() throws MojoExecutionException, MojoFailureException { if (enableVMInspection) { command.add("-H:+AllowVMInspection"); } + if (autoServiceLoaderRegistration) { + command.add("-H:+UseServiceLoaderFeature"); + //When enabling, at least print what exactly is being added: + command.add("-H:+TraceServiceLoaderFeature"); + } + else { + command.add("-H:-UseServiceLoaderFeature"); + } if (fullStackTraces) { command.add("-H:+StackTrace"); } else { command.add("-H:-StackTrace"); } + System.out.println(command); Process process = Runtime.getRuntime().exec(command.toArray(new String[0]), null, outputDirectory); new Thread(new ProcessReader(process.getInputStream(), false)).start();