A plugin for the Gradle build system that sets manifest data for JAr and WAr artifacts inferred from a project's Git status.
Include either of the following in your build script:
plugins {
id 'com.github.dispader.manifesto' version '1.0.12'
}
buildscript {
repositories.jcenter()
dependencies {
classpath 'com.github.dispader:manifesto:1.0.12'
}
}
apply plugin: 'com.github.dispader.manifesto'
The plugin only affects configurations for the groovy
, java
, and war
plugins; and only produces meaningful results for Git projects.
If the conventional project.group
is defined (for the top-level project), this value will be used to set the Implementation-Vendor-Id
.
Some elements of manifests which cannot be determined from the Git project status or the default project configuration can be set via the plugin's configuration object.
vendor
setsSpecification-Vendor
andImplementation-Vendor
vendor_id
setsImplementation-Vendor-Id
(and overridesproject.group
default)url
setsImplementation-URL
manifesto {
vendor = 'Jake Gage'
vendor_id = 'com.github.dispader'
url = 'https://github.com/Dispader/manifesto'
}
Manifest-Version
is set to1.0
Specification-Title
andImplementation-Title
are set to the GradlerootProject.name
Specification-Version
andImplementation-Version
are set based on Git commit status (seegit describe
)- IFF no version can be determined via a
git describe
, and a GradlerootProject.version
can be, this value will be used instead
- IFF no version can be determined via a
Implementation-Timestamp
is set to the build time
Thanks, everybody!