From 047b4e27fcb4fa4139a863eb0e3639815300307b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Mon, 24 Oct 2022 13:30:22 +0200 Subject: [PATCH] Make GraalVM installation check lazy add-reachability-metadata goal can now be run with a regular JDK. Closes gh-327 --- .../buildtools/maven/NativeExtension.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/NativeExtension.java b/native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/NativeExtension.java index 39c5e9967..56d81d58b 100644 --- a/native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/NativeExtension.java +++ b/native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/NativeExtension.java @@ -92,8 +92,6 @@ static String testIdsDirectory(String baseDir) { return baseDir + File.separator + "test-ids"; } - private static String graalvmJava; - static String buildAgentArgument(String baseDir, Context context, List agentOptions) { List options = new ArrayList<>(agentOptions); String effectiveOutputDir = agentOutputDirectoryFor(baseDir, context); @@ -117,12 +115,6 @@ static String agentOutputDirectoryFor(String baseDir, Context context) { @Override public void afterProjectsRead(MavenSession session) { - try { - graalvmJava = Utils.getNativeImage(logger).getParent().resolve("java").toString(); - } catch (MojoExecutionException e) { - throw new RuntimeException(e); - } - for (MavenProject project : session.getProjects()) { Build build = project.getBuild(); withPlugin(build, "native-maven-plugin", nativePlugin -> { @@ -167,7 +159,7 @@ public void afterProjectsRead(MavenSession session) { for (Xpp3Dom child : children) { commandlineArgs.addChild(child); } - findOrAppend(config, "executable").setValue(graalvmJava); + findOrAppend(config, "executable").setValue(getGraalvmJava()); } }) ); @@ -321,7 +313,7 @@ private static void configureAgentForSurefire(Plugin surefirePlugin, String agen Xpp3Dom argLine = new Xpp3Dom("argLine"); argLine.setValue(agentArgument); configuration.addChild(argLine); - findOrAppend(configuration, "jvm").setValue(graalvmJava); + findOrAppend(configuration, "jvm").setValue(getGraalvmJava()); }); } @@ -360,4 +352,12 @@ private static Xpp3Dom findOrAppend(Xpp3Dom parent, String childName) { return child; } + private static String getGraalvmJava() { + try { + return Utils.getNativeImage(logger).getParent().resolve("java").toString(); + } catch (MojoExecutionException e) { + throw new RuntimeException(e); + } + } + }