diff --git a/graalvm/src/main/java/net/woggioni/gradle/graalvm/NativeImageTask.java b/graalvm/src/main/java/net/woggioni/gradle/graalvm/NativeImageTask.java index c7ca80e..97ba31a 100644 --- a/graalvm/src/main/java/net/woggioni/gradle/graalvm/NativeImageTask.java +++ b/graalvm/src/main/java/net/woggioni/gradle/graalvm/NativeImageTask.java @@ -42,8 +42,6 @@ public abstract class NativeImageTask extends Exec { @InputDirectory public abstract DirectoryProperty getGraalVmHome(); - @Input - public abstract Property getUseJpms(); @Input public abstract Property getUseMusl(); @Input @@ -69,7 +67,6 @@ public abstract class NativeImageTask extends Exec { logger = project.getLogger(); setGroup(GRAALVM_TASK_GROUP); setDescription("Create a native image of the application using GraalVM"); - getUseJpms().convention(false); getUseMusl().convention(false); getBuildStaticImage().convention(false); getEnableFallback().convention(false); @@ -115,7 +112,7 @@ public abstract class NativeImageTask extends Exec { result.add("--libc=musl"); } JavaModuleDetector javaModuleDetector = getJavaModuleDetector(); - boolean useJpms = getUseJpms().get(); + boolean useJpms = getMainModule().isPresent(); FileCollection classpath = getClasspath().get(); FileCollection cp = javaModuleDetector.inferClasspath(useJpms, classpath); FileCollection mp = javaModuleDetector.inferModulePath(useJpms, classpath); @@ -129,7 +126,15 @@ public abstract class NativeImageTask extends Exec { } result.add("-o"); result.add(getOutputFile().get().getAsFile().toString()); - result.add(getMainClass().get()); + if(getMainModule().isPresent()) { + result.add("--module"); + String mainModule = getMainModule().get(); + result.add(getMainClass() + .map(mainClass -> String.format("%s/%s", mainModule, mainClass)) + .getOrElse(mainModule)); + } else { + result.add(getMainClass().get()); + } return Collections.unmodifiableList(result); } }; diff --git a/gradle.properties b/gradle.properties index 8b2014c..ad927d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -lys.catalog.version=2025.01.08 -version.myGradlePlugins=2025.01.08 +lys.catalog.version=2025.01.17 +version.myGradlePlugins=2025.01.24 version.gradle=8.12 -gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven +gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven \ No newline at end of file