JReleaser Gradle Plugin
Executes a JReleaser workflow as a Gradle plugin.
Requires Gradle 8.x. |
Configuration
JReleaser may be configured using the Gradle DSL shown at Reference. Alternatively, an external
configuration file may be used if the configFile
field property is set in the jreleaser
extension.
The following properties may also be set on the jreleaser
configuration instance:
Setting | Type | Environment Variable | Default |
---|---|---|---|
basedir |
boolean |
JRELEASER_BASEDIR |
<current-execution-directory> |
dryrun |
boolean |
JRELEASER_DRY_RUN |
false |
strict |
boolean |
JRELEASER_STRICT |
false |
gitRootSearch |
boolean |
JRELEASER_GIT_ROOT_SEARCH |
false |
dependsOnAssemble |
boolean |
true |
|
selectCurrentPlatform |
boolean |
JRELEASER_SELECT_CURRENT_PLATFORM |
false |
selectPlatform |
String |
JRELEASER_SELECT_PLATFORMS |
<empty-string> |
rejectPlatform |
String |
JRELEASER_REJECT_PLATFORMS |
<empty-string> |
configFile |
RegularFile |
||
String |
JRELEASER_DEFAULT_GIT_REMOTE |
origin |
if dependsOnAssemble
is set to true
(default) then many JReleaser tasks will depend on the execution of the assembleDist
task.
Set this property to false
to skip this dependency.
JRELEASER_SELECT_PLATFORMs
and JRELEASER_REJECT_PLATFORMs
may define a command separated list of values such as
osx-x86_64,linux-x86_64
.
These additional environment variables are supported as well:
Environment Variable | Description |
---|---|
NO_COLOR |
disable colors in output |
JRELEASER_NO_COLOR |
disable colors in output |
Filtering Artifacts
Many commands let you filter (include or exclude) artifacts using a combination of task flags or environment variables.
This filter capability allows you to test out a release configuration on a node where not all artifacts may be available.
For example, when building on linux-x86_64
while also having osx-x86_64
and windows-x86_64
.
Use the JRELEASER_SELECT_CURRENT_PLATFORM
environment variable or the --select-current-platform
task flag.
$ JRELEASER_SELECT_CURRENT_PLATFORM gradle jreleaserChecksum
$ gradle jreleaserChecksum --select-current-platform
Use the JRELEASER_SELECT_PLATFORMS
environment variable or the --select-platform
task flag, i.e,
$ JRELEASER_SELECT_PLATFORMS=osx-x86_64 gradle jreleaserChecksum
$ gradle jreleaserChecksum --select-platform=osx-x86_64
Every artifact whose platform property does not match the given platform will end up filtered out.
Use the JRELEASER_REJECT_PLATFORMS
environment variable or the --reject-platform
task flag, i.e,
$ JRELEASER_REJECT_PLATFORMS=windows-x86_64 gradle jreleaserChecksum
$ gradle jreleaserChecksumm --reject-platform=windows-x86_64
Every artifact whose platform property matches the given platform will end up filtered out.
Defaults
The following values will be taken directly from the Gradle project and added to JReleaser’s configuration when the matching JReleaser element has not been explicitly configured:
Build file | JReleaser |
---|---|
project.name |
project.name |
project.version |
project.version |
project.description |
project.description |
project.group |
project.java.groupId |
project.name |
project.java.artifactId |
The value of project.java.multiProject
will be set to true if the root project has children.
The value of project.java.version
will be determined following these expressions in order:
-
${project.targetCompatibility}
-
${project.compilerRelease}
-
org.gradle.api.JavaVersion.current()
The following properties will be automatically mapped when the org.kordamp.gradle.project
plugin is applied:
Kordamp | JReleaser |
---|---|
config.info.description |
project.description |
config.info.links.website |
project.links.homepage |
config.info.authors |
project.authors |
config.info.tags |
project.tags |
config.info.licenses |
project.license |
config.info.inceptionYear |
project.inceptionYear |
Environment Variables
The following settings may also be specified via environment variables
Setting |
Environment Variable |
Default |
JRELEASER_DEFAULT_GIT_REMOTE |
origin |
DSL Descriptors
The plugin ships with GDSL (IntelliJ) and DSLD (Eclipse) DSL descriptors that should provide code completion support for
the jreleaser
extension when using the Groovy DSL in Gradle scripts. These files should be picked up automatically but
if that were not to be the case then you may download the files and register them with your IDE:
Tasks
The following tasks are provided:
jreleaserEnv
Path
:jreleaserEnv
Type
JReleaserEnvTask (org.jreleaser.gradle.plugin.tasks.JReleaserEnvTask)
Description
Display environment variable names
Group
JReleaser
jreleaserInit
Path
:jreleaserInit
Type
JReleaserInitTask (org.jreleaser.gradle.plugin.tasks.JReleaserInitTask)
Options
--format Configuration file format (REQUIRED).
--overwrite Overwrite existing files (OPTIONAL).
Description
Create a jreleaser config file
Group
JReleaser
Currently supported formats are: yml
, json
, and toml
.
The file will be generated at the current directory.
jreleaserConfig
Path
:jreleaserConfig
Type
JReleaserConfigTask (org.jreleaser.gradle.plugin.tasks.JReleaserConfigTask)
Options
--announce Display announce configuration (OPTIONAL).
--assembly Display assembly configuration (OPTIONAL).
--changelog Display changelog configuration (OPTIONAL).
--download Display download configuration (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--full Display full configuration (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Outputs current JReleaser configuration
Group
JReleaser
jreleaserTemplateGenerate
Path
:jreleaserTemplateGenerate
Type
JReleaserTemplateGenerateTask (org.jreleaser.gradle.plugin.tasks.JReleaserTemplateGenerateTask)
Options
--announcer-name The name of the announcer (OPTIONAL).
--assembler-name The name of the assembler (OPTIONAL).
--assembler-type The type of the assembler (OPTIONAL).
--distribution-name The name of the distribution (OPTIONAL).
--distribution-type The type of the distribution (OPTIONAL).
Available values are:
JAVA_BINARY
JLINK
NATIVE_IMAGE
NATIVE_PACKAGE
SINGLE_JAR
--overwrite Overwrite existing files (OPTIONAL).
--packager-name The name of the packager (OPTIONAL).
--snapshot Use snapshot template (OPTIONAL).
Description
Generates templates for a specific packager/announcer
Group
JReleaser
jreleaserTemplateEval
Path
:jreleaserTemplateEval
Type
JReleaserTemplateEvalTask (org.jreleaser.gradle.plugin.tasks.JReleaserTemplateEvalTask)
Options
--announce Eval model in announce configuration (OPTIONAL).
--assembly Eval model in assembly configuration (OPTIONAL).
--changelog Eval model in changelog configuration (OPTIONAL).
--download Eval model in download configuration (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--input-directory A directory with input templates.
--input-file An input template file.
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
--target-directory Directory where evaluated template(s) will be placed.
Description
Evaluate a template or templates
Group
JReleaser
jreleaserDownload
Executes the Download workflow step.
Path
:jreleaserDownload
Type
JReleaserDownloadTask (org.jreleaser.gradle.plugin.tasks.JReleaserDownloadTask)
Options
--downloader-name Include an downloader by name (OPTIONAL).
--downloader Include an downloader by type (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-downloader-name Exclude an downloader by name (OPTIONAL).
--exclude-downloader Exclude an downloader by type (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Downloads assets
Group
JReleaser
jreleaserAssemble
Executes the Assemble workflow step.
Path
:jreleaserAssemble
Type
JReleaserAssembleTask (org.jreleaser.gradle.plugin.tasks.JReleaserAssembleTask)
Options
--assembler The name of the assembler (OPTIONAL).
--distribution The name of the distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-assembler Exclude an assembler (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Assemble all distributions
Group
JReleaser
jreleaserChangelog
Executes the Changelog workflow step.
Path
:jreleaserChangelog
Type
JReleaserChangelogTask (org.jreleaser.gradle.plugin.tasks.JReleaserChangelogTask)
Options:
--strict Enable strict mode (OPTIONAL).
Description
Calculate changelogs
Group
JReleaser
jreleaserCatalog
Executes the Catalog workflow step.
Path
:jreleaserCatalog
Type
JReleaserCatalogTask (org.jreleaser.gradle.plugin.tasks.JReleaserCatalogTask)
Options
--cataloger Include a cataloger (OPTIONAL).
--distribution Include a distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-cataloger Exclude a cataloger (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Catalogs all distributions and files
Group
JReleaser
jreleaserChecksum
Executes the Checksum workflow step.
Path
:jreleaserChecksum
Type
JReleaserChecksumTask (org.jreleaser.gradle.plugin.tasks.JReleaserChecksumTask)
Options
--distribution The name of the distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Calculate checksums
Group
JReleaser
jreleaserSign
Executes the Sign workflow step.
Path
:jreleaserSign
Type
JReleaserSignTask (org.jreleaser.gradle.plugin.tasks.JReleaserSignTask)
Options
--distribution The name of the distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Signs a release
Group
JReleaser
jreleaserDeploy
Executes the Deploy workflow step.
Path
:jreleaserDeploy
Type
JReleaserDeployTask (org.jreleaser.gradle.plugin.tasks.JReleaserDeployTask)
Options
--deployer Include a deployer by type (OPTIONAL).
--deployer-name Include a deployer by name (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-deployer Exclude a deployer by type (OPTIONAL).
--exclude-deployer-name Exclude a deployer by name (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Deploys all staged artifacts
Group
JReleaser
jreleaserUpload
Executes the Upload workflow step.
Path
:jreleaserUpload
Type
JReleaserUploadTask (org.jreleaser.gradle.plugin.tasks.JReleaserUploadTask)
Options
--cataloger Include a cataloger (OPTIONAL).
--distribution The name of the distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-cataloger Exclude a cataloger (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-uploader-name Exclude an uploader by name (OPTIONAL).
--exclude-uploader Exclude an uploader by type (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
--uploader-name Include an uploader by name (OPTIONAL).
--uploader Include an uploader by type (OPTIONAL).
Description
Uploads all artifacts
Group
JReleaser
jreleaserRelease
Executes the Release workflow step.
Path
:jreleaserRelease
Type
JReleaserReleaseTask (org.jreleaser.gradle.plugin.tasks.JReleaserReleaserTask)
Options
--cataloger Include a cataloger (OPTIONAL).
--deployer Include a deployer by type (OPTIONAL).
--deployer-name Include a deployer by name (OPTIONAL).
--distribution The name of the distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-cataloger Exclude a cataloger (OPTIONAL).
--exclude-deployer Exclude a deployer by type (OPTIONAL).
--exclude-deployer-name Exclude a deployer by name (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-uploader Exclude an uploader by type (OPTIONAL).
--exclude-uploader-name Exclude an uploader by name (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
--uploader Include an uploader by type (OPTIONAL).
--uploader-name Include an uploader by name (OPTIONAL).
Description
Uploads all artifacts
Group
JReleaser
jreleaserPrepare
Executes the Prepare workflow step.
Path
:jreleaserPrepare
Type
JReleaserPrepareTask (org.jreleaser.gradle.plugin.tasks.JReleaserPrepareTask)
Options
--distribution Include a distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-packager Exclude a packager (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--packager Include a packager (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Prepares all distributions
Group
JReleaser
jreleaserPackage
Executes the Package workflow step.
Path
:jreleaserPackage
Type
JReleaserPackageTask (org.jreleaser.gradle.plugin.tasks.JReleaserPackageTask)
Options
--distribution Include a distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-packager Exclude a packager (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--packager Include a packager (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Packages all distributions
Group
JReleaser
jreleaserPublish
Executes the Publish workflow step.
Path
:jreleaserPublish
Type
JReleaserPublishTask (org.jreleaser.gradle.plugin.tasks.JReleaserPublishTask)
Options
--distribution Include a distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-packager Exclude a packager (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--packager Include a packager (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Publishes all distributions
Group
JReleaser
jreleaserAnnounce
Executes the Announce workflow step.
Path
:jreleaserAnnounce
Type
JReleaserAnnounceTask (org.jreleaser.gradle.plugin.tasks.JReleaserAnnounceTask)
Options
--announcer Include an announcer (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-announcer Exclude an announcer (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
Description
Announces a release
Group
JReleaser
jreleaserFullRelease
Executes the Full Release workflow step.
Path
:jreleaserFullRelease
Type
JReleaserFullReleaseTask (org.jreleaser.gradle.plugin.tasks.JReleaserFullReleaseTask)
Options
--announcer Include an announcer (OPTIONAL).
--cataloger Include a cataloger (OPTIONAL).
--deployer Include a deployer by type (OPTIONAL).
--deployer-name Include a deployer by name (OPTIONAL).
--distribution Include a distribution (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--exclude-announcer Exclude an announcer (OPTIONAL).
--exclude-cataloger Exclude a cataloger (OPTIONAL).
--exclude-deployer Exclude a deployer by type (OPTIONAL).
--exclude-deployer-name Exclude a deployer by name (OPTIONAL).
--exclude-distribution Exclude a distribution (OPTIONAL).
--exclude-packager Exclude a packager (OPTIONAL).
--exclude-uploader Exclude an uploader by type (OPTIONAL).
--exclude-uploader-name Exclude an uploader by name (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--packager Include a packager (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
--uploader Include an uploader by type (OPTIONAL).
--uploader-name Include an uploader by name (OPTIONAL).
Description
Invokes release, publish, and announce
Group
JReleaser
jreleaserAutoConfigRelease
Path
:jreleaserAutoConfigRelease
Type
JReleaseAutoConfigReleaseTask (org.jreleaser.gradle.plugin.tasks.JReleaseAutoConfigReleaseTask)
Options
--armored Generate ascii armored signatures (OPTIONAL).
--author The project authors (OPTIONAL).
--branch The release branch (OPTIONAL).
--changeLog Path to changelog file (OPTIONAL).
--changelog-formatted Format generated changelog (OPTIONAL).
--commit-author-email Commit author email (OPTIONAL).
--commit-author-name Commit author name (OPTIONAL).
--draft If the release is a draft (OPTIONAL).
--dryrun Skip remote operations (OPTIONAL).
--file Input file(s) to be uploaded (OPTIONAL).
--git-root-search Searches for the Git root (OPTIONAL).
--glob Input file(s) to be uploaded (as globs) (OPTIONAL).
--milestone-name The milestone name (OPTIONAL).
--overwrite Overwrite an existing release (OPTIONAL).
--prerelease If the release is a prerelease (OPTIONAL).
--prerelease-pattern The prerelease pattern (OPTIONAL).
--project-copyright The project copytight (OPTIONAL).
--project-description The project description (OPTIONAL).
--project-inception-year The project inception year (OPTIONAL).
--project-name The project name (OPTIONAL).
--project-snapshot-label The project snapshot label (OPTIONAL).
--project-snapshot-pattern The project snapshot pattern (OPTIONAL).
--project-snapshot-full-changelog Calculate full changelog since last non-snapshot release (OPTIONAL).
--project-stereotype The project stereotype (OPTIONAL).
--project-version The project version (OPTIONAL).
--project-version-pattern The project version pattern (OPTIONAL).
--release-name The release name (OPTIONAL).
--signing Sign files (OPTIONAL).
--reject-platform Activates paths not matching the given platform (OPTIONAL).
--select-current-platform Activates paths matching the current platform (OPTIONAL).
--select-platform Activates paths matching the given platform (OPTIONAL).
--skip-checksums Skip creating checksums (OPTIONAL).
--skip-release Skip creating a release (OPTIONAL).
--skip-tag Skip tagging the release (OPTIONAL).
--strict Enable strict mode (OPTIONAL).
--tag-name The release tga (OPTIONAL).
--update Update an existing release (OPTIONAL).
--update-section Release section to be updated (OPTIONAL).
--username Git username (OPTIONAL).
Description
Creates or updates a release with auto-config enabled
Group
JReleaser