added envelopeJar
task description and made assembly
depend on it
This commit is contained in:
@@ -1,18 +1,26 @@
|
||||
package net.woggioni.gradle.envelope;
|
||||
|
||||
import org.gradle.api.DefaultTask;
|
||||
import org.gradle.api.Plugin;
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.plugins.BasePlugin;
|
||||
import org.gradle.api.plugins.BasePluginExtension;
|
||||
import org.gradle.api.plugins.JavaPlugin;
|
||||
import org.gradle.api.provider.Provider;
|
||||
import org.gradle.api.tasks.bundling.Jar;
|
||||
|
||||
public class EnvelopePlugin implements Plugin<Project> {
|
||||
@Override
|
||||
public void apply(Project project) {
|
||||
BasePluginExtension basePluginExtension = project.getExtensions().getByType(BasePluginExtension.class);
|
||||
project.getTasks().register("envelopeJar", EnvelopeJarTask.class, t -> {
|
||||
Provider<EnvelopeJarTask> envelopeJarTaskProvider = project.getTasks().register("envelopeJar", EnvelopeJarTask.class, t -> {
|
||||
t.setGroup(BasePlugin.BUILD_GROUP);
|
||||
t.setDescription("Package the application in a single executable jar file");
|
||||
t.includeLibraries(project.getConfigurations().named(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME));
|
||||
t.includeLibraries(project.getTasks().named(JavaPlugin.JAR_TASK_NAME, Jar.class));
|
||||
});
|
||||
project.getTasks().named(BasePlugin.ASSEMBLE_TASK_NAME, DefaultTask.class, assembleTask -> {
|
||||
assembleTask.dependsOn(envelopeJarTaskProvider);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user