added tar distribution to jlink plugin
All checks were successful
CI / build (push) Successful in 2m45s
All checks were successful
CI / build (push) Successful in 2m45s
This commit is contained in:
@@ -2,11 +2,8 @@ package net.woggioni.gradle.graalvm;
|
|||||||
|
|
||||||
import org.gradle.api.Plugin;
|
import org.gradle.api.Plugin;
|
||||||
import org.gradle.api.Project;
|
import org.gradle.api.Project;
|
||||||
import org.gradle.api.Task;
|
|
||||||
import org.gradle.api.artifacts.ConfigurationContainer;
|
import org.gradle.api.artifacts.ConfigurationContainer;
|
||||||
import org.gradle.api.file.FileCollection;
|
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.BasePluginExtension;
|
||||||
import org.gradle.api.plugins.ExtensionContainer;
|
import org.gradle.api.plugins.ExtensionContainer;
|
||||||
import org.gradle.api.plugins.JavaApplication;
|
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.plugins.JavaPlugin;
|
||||||
import org.gradle.api.provider.Provider;
|
import org.gradle.api.provider.Provider;
|
||||||
import org.gradle.api.tasks.TaskContainer;
|
import org.gradle.api.tasks.TaskContainer;
|
||||||
|
import org.gradle.api.tasks.bundling.Tar;
|
||||||
import org.gradle.api.tasks.bundling.Zip;
|
import org.gradle.api.tasks.bundling.Zip;
|
||||||
import org.gradle.jvm.tasks.Jar;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public class JlinkPlugin implements Plugin<Project> {
|
public class JlinkPlugin implements Plugin<Project> {
|
||||||
|
|
||||||
public static final String JLINK_TASK_NAME = "jlink";
|
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
|
@Override
|
||||||
public void apply(Project project) {
|
public void apply(Project project) {
|
||||||
project.getPluginManager().apply(JavaLibraryPlugin.class);
|
project.getPluginManager().apply(JavaLibraryPlugin.class);
|
||||||
@@ -40,7 +39,7 @@ public class JlinkPlugin implements Plugin<Project> {
|
|||||||
jlinkTask.getClasspath().set(classpath);
|
jlinkTask.getClasspath().set(classpath);
|
||||||
});
|
});
|
||||||
|
|
||||||
Provider<Zip> jlinkZipTaskProvider = tasks.register(JLINK_DIST_TASK_NAME, Zip.class, zip -> {
|
Provider<Zip> jlinkZipTaskProvider = tasks.register(JLINK_DIST_ZIP_TASK_NAME, Zip.class, zip -> {
|
||||||
zip.getArchiveBaseName().set(project.getName());
|
zip.getArchiveBaseName().set(project.getName());
|
||||||
if(project.getVersion() != null) {
|
if(project.getVersion() != null) {
|
||||||
zip.getArchiveVersion().set(project.getVersion().toString());
|
zip.getArchiveVersion().set(project.getVersion().toString());
|
||||||
@@ -49,8 +48,19 @@ public class JlinkPlugin implements Plugin<Project> {
|
|||||||
zip.from(jlinTaskProvider);
|
zip.from(jlinTaskProvider);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Provider<Tar> 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 -> {
|
tasks.named(JLINK_TASK_NAME, JlinkTask.class, jlinkTask -> {
|
||||||
jlinkTask.finalizedBy(jlinkZipTaskProvider);
|
jlinkTask.finalizedBy(jlinkZipTaskProvider);
|
||||||
|
jlinkTask.finalizedBy(jlinkTarTaskProvider);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
lys.catalog.version=2025.02.05
|
lys.catalog.version=2025.02.05
|
||||||
version.myGradlePlugins=2025.03.08
|
version.myGradlePlugins=2025.04.15
|
||||||
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
|
||||||
|
Reference in New Issue
Block a user