Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.glosav.tools.gradle.versioning;
- import net.nemerosa.versioning.VersioningExtension;
- import net.nemerosa.versioning.VersioningPlugin;
- import net.nemerosa.versioning.tasks.VersionDisplayTask;
- import net.nemerosa.versioning.tasks.VersionFileTask;
- import org.gradle.api.*;
- import org.gradle.api.java.archives.Attributes;
- import org.gradle.api.plugins.JavaPlugin;
- import org.gradle.api.tasks.TaskAction;
- import org.gradle.api.tasks.TaskContainer;
- import org.gradle.jvm.tasks.Jar;
- import org.gradle.tooling.BuildLauncher;
- import org.gradle.tooling.GradleConnector;
- import org.gradle.tooling.ProjectConnection;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.io.File;
- import java.util.Arrays;
- import java.util.List;
- import static java.util.Collections.singletonMap;
- import static org.gradle.api.plugins.JavaPlugin.JAR_TASK_NAME;
- public class VersionPlugin extends VersioningPlugin {
- public static final String SETUP_TASK_NAME = "setup";
- private static final Logger logger = LoggerFactory.getLogger(VersionPlugin.class);
- private static final List<String> plugins = Arrays.asList("java", "idea");
- @Override
- public void apply(Project project) {
- for(String plugin : plugins) {
- project.apply(singletonMap("plugin", plugin));
- }
- TaskContainer tasks = project.getTasks();
- Jar ts = (Jar) tasks.findByName(JAR_TASK_NAME);
- ts.doFirst(new Action<Task>() {
- @Override
- public void execute(Task task) {
- Project project = task.getProject();
- Jar jar = (Jar) project.getTasks().getByName(JAR_TASK_NAME);
- Attributes attributes = jar.getManifest().getAttributes();
- attributes.put("Plugin-Name", project.getName());
- attributes.put("Plugin-Version", project.getVersion());
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement