Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. package ru.glosav.tools.gradle.versioning;
  2.  
  3. import net.nemerosa.versioning.VersioningExtension;
  4. import net.nemerosa.versioning.VersioningPlugin;
  5. import net.nemerosa.versioning.tasks.VersionDisplayTask;
  6. import net.nemerosa.versioning.tasks.VersionFileTask;
  7. import org.gradle.api.*;
  8. import org.gradle.api.java.archives.Attributes;
  9. import org.gradle.api.plugins.JavaPlugin;
  10. import org.gradle.api.tasks.TaskAction;
  11. import org.gradle.api.tasks.TaskContainer;
  12. import org.gradle.jvm.tasks.Jar;
  13. import org.gradle.tooling.BuildLauncher;
  14. import org.gradle.tooling.GradleConnector;
  15. import org.gradle.tooling.ProjectConnection;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18.  
  19. import java.io.File;
  20. import java.util.Arrays;
  21. import java.util.List;
  22.  
  23. import static java.util.Collections.singletonMap;
  24. import static org.gradle.api.plugins.JavaPlugin.JAR_TASK_NAME;
  25.  
  26. public class VersionPlugin extends VersioningPlugin {
  27.  
  28. public static final String SETUP_TASK_NAME = "setup";
  29.  
  30. private static final Logger logger = LoggerFactory.getLogger(VersionPlugin.class);
  31.  
  32. private static final List<String> plugins = Arrays.asList("java", "idea");
  33.  
  34. @Override
  35. public void apply(Project project) {
  36.  
  37. for(String plugin : plugins) {
  38. project.apply(singletonMap("plugin", plugin));
  39. }
  40.  
  41. TaskContainer tasks = project.getTasks();
  42. Jar ts = (Jar) tasks.findByName(JAR_TASK_NAME);
  43. ts.doFirst(new Action<Task>() {
  44. @Override
  45. public void execute(Task task) {
  46. Project project = task.getProject();
  47.  
  48. Jar jar = (Jar) project.getTasks().getByName(JAR_TASK_NAME);
  49. Attributes attributes = jar.getManifest().getAttributes();
  50. attributes.put("Plugin-Name", project.getName());
  51. attributes.put("Plugin-Version", project.getVersion());
  52. }
  53. });
  54.  
  55. }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement