diff --git a/graalvm/src/main/java/net/woggioni/gradle/graalvm/JlinkPlugin.java b/graalvm/src/main/java/net/woggioni/gradle/graalvm/JlinkPlugin.java index d34de0e..4a40d6f 100644 --- a/graalvm/src/main/java/net/woggioni/gradle/graalvm/JlinkPlugin.java +++ b/graalvm/src/main/java/net/woggioni/gradle/graalvm/JlinkPlugin.java @@ -2,11 +2,8 @@ package net.woggioni.gradle.graalvm; import org.gradle.api.Plugin; import org.gradle.api.Project; -import org.gradle.api.Task; import org.gradle.api.artifacts.ConfigurationContainer; import org.gradle.api.file.FileCollection; -import org.gradle.api.file.ProjectLayout; -import org.gradle.api.plugins.BasePlugin; import org.gradle.api.plugins.BasePluginExtension; import org.gradle.api.plugins.ExtensionContainer; import org.gradle.api.plugins.JavaApplication; @@ -14,15 +11,17 @@ import org.gradle.api.plugins.JavaLibraryPlugin; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.provider.Provider; import org.gradle.api.tasks.TaskContainer; +import org.gradle.api.tasks.bundling.Tar; import org.gradle.api.tasks.bundling.Zip; -import org.gradle.jvm.tasks.Jar; import java.util.Optional; public class JlinkPlugin implements Plugin { public static final String JLINK_TASK_NAME = "jlink"; - public static final String JLINK_DIST_TASK_NAME = "jlinkDist"; + public static final String JLINK_DIST_ZIP_TASK_NAME = "jlinkDistZip"; + public static final String JLINK_DIST_TAR_TASK_NAME = "jlinkDistTar"; + @Override public void apply(Project project) { project.getPluginManager().apply(JavaLibraryPlugin.class); @@ -40,7 +39,7 @@ public class JlinkPlugin implements Plugin { jlinkTask.getClasspath().set(classpath); }); - Provider jlinkZipTaskProvider = tasks.register(JLINK_DIST_TASK_NAME, Zip.class, zip -> { + Provider jlinkZipTaskProvider = tasks.register(JLINK_DIST_ZIP_TASK_NAME, Zip.class, zip -> { zip.getArchiveBaseName().set(project.getName()); if(project.getVersion() != null) { zip.getArchiveVersion().set(project.getVersion().toString()); @@ -49,8 +48,19 @@ public class JlinkPlugin implements Plugin { zip.from(jlinTaskProvider); }); + Provider jlinkTarTaskProvider = tasks.register(JLINK_DIST_TAR_TASK_NAME, Tar.class, zip -> { + zip.getArchiveBaseName().set(project.getName()); + if(project.getVersion() != null) { + zip.getArchiveVersion().set(project.getVersion().toString()); + } + zip.getDestinationDirectory().set(basePluginExtension.getDistsDirectory()); + zip.from(jlinTaskProvider); + }); + + tasks.named(JLINK_TASK_NAME, JlinkTask.class, jlinkTask -> { jlinkTask.finalizedBy(jlinkZipTaskProvider); + jlinkTask.finalizedBy(jlinkTarTaskProvider); }); } } diff --git a/gradle.properties b/gradle.properties index d1b4295..0970586 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ lys.catalog.version=2025.02.05 -version.myGradlePlugins=2025.03.08 +version.myGradlePlugins=2025.04.15 version.gradle=8.12 gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven