Skip to content
Snippets Groups Projects

feat: always populate MANIFEST with project.name and .version

6 files
+ 65
3
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -2,6 +2,7 @@ package edu.wisc.doit.gradle
@@ -2,6 +2,7 @@ package edu.wisc.doit.gradle
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
/**
/**
* Root Gradle {@link Plugin} class.
* Root Gradle {@link Plugin} class.
@@ -19,5 +20,28 @@ class ContinuousPublishPlugin implements Plugin<Project> {
@@ -19,5 +20,28 @@ class ContinuousPublishPlugin implements Plugin<Project> {
project.getTasks()
project.getTasks()
.create("confirmProjectVersionIncremented",
.create("confirmProjectVersionIncremented",
ConfirmProjectVersionIncrementedTask.class)
ConfirmProjectVersionIncrementedTask.class)
 
 
// findByName can return null; getByName throws UnknownTaskException
 
configureManifest(project.getTasks().findByName("jar"))
 
configureManifest(project.getTasks().findByName("war"))
 
}
 
 
/**
 
* Set 'Implementation-Title' and 'Implementation-Version' attributes
 
* in the task's manifest
 
*
 
* See https://docs.oracle.com/javase/tutorial/deployment/jar/packageman.html
 
*
 
* @param task the task to configure (null safe)
 
*/
 
void configureManifest(Task task) {
 
task?.configure {
 
manifest {
 
attributes(
 
'Implementation-Title': project.name,
 
'Implementation-Version': project.version
 
)
 
}
 
}
}
}
}
}
Loading