added JPMS support to native image plugin
Some checks failed
CI / build (push) Has been cancelled

This commit is contained in:
2025-01-24 16:45:52 +08:00
parent 5c16f1bc13
commit 99f1fd16ab
2 changed files with 13 additions and 8 deletions

View File

@@ -42,8 +42,6 @@ public abstract class NativeImageTask extends Exec {
@InputDirectory @InputDirectory
public abstract DirectoryProperty getGraalVmHome(); public abstract DirectoryProperty getGraalVmHome();
@Input
public abstract Property<Boolean> getUseJpms();
@Input @Input
public abstract Property<Boolean> getUseMusl(); public abstract Property<Boolean> getUseMusl();
@Input @Input
@@ -69,7 +67,6 @@ public abstract class NativeImageTask extends Exec {
logger = project.getLogger(); logger = project.getLogger();
setGroup(GRAALVM_TASK_GROUP); setGroup(GRAALVM_TASK_GROUP);
setDescription("Create a native image of the application using GraalVM"); setDescription("Create a native image of the application using GraalVM");
getUseJpms().convention(false);
getUseMusl().convention(false); getUseMusl().convention(false);
getBuildStaticImage().convention(false); getBuildStaticImage().convention(false);
getEnableFallback().convention(false); getEnableFallback().convention(false);
@@ -115,7 +112,7 @@ public abstract class NativeImageTask extends Exec {
result.add("--libc=musl"); result.add("--libc=musl");
} }
JavaModuleDetector javaModuleDetector = getJavaModuleDetector(); JavaModuleDetector javaModuleDetector = getJavaModuleDetector();
boolean useJpms = getUseJpms().get(); boolean useJpms = getMainModule().isPresent();
FileCollection classpath = getClasspath().get(); FileCollection classpath = getClasspath().get();
FileCollection cp = javaModuleDetector.inferClasspath(useJpms, classpath); FileCollection cp = javaModuleDetector.inferClasspath(useJpms, classpath);
FileCollection mp = javaModuleDetector.inferModulePath(useJpms, classpath); FileCollection mp = javaModuleDetector.inferModulePath(useJpms, classpath);
@@ -129,7 +126,15 @@ public abstract class NativeImageTask extends Exec {
} }
result.add("-o"); result.add("-o");
result.add(getOutputFile().get().getAsFile().toString()); 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); return Collections.unmodifiableList(result);
} }
}; };

View File

@@ -1,5 +1,5 @@
lys.catalog.version=2025.01.08 lys.catalog.version=2025.01.17
version.myGradlePlugins=2025.01.08 version.myGradlePlugins=2025.01.24
version.gradle=8.12 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