JReleaser CLI
Executes a JReleaser workflow as a command-line interface (CLI).
JReleaser is a release automation tool for Java projects.
Its goal is to simplify creating releases and publishing
artifacts to multiple package managers while providing
customizable options.
Usage: jreleaser [-hV] [-D=<key=value>]... [COMMAND]
Options:
-D=<key=value> Sets a System property. 🔁
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
env Display environment variable names.
init Create a jreleaser config file.
config Display current configuration.
template Generate or eval templates.
download Download assets.
assemble Assemble distributions.
changelog Calculate the changelog.
catalog Catalog artifacts and files.
checksum Calculate checksums.
sign Sign release artifacts.
deploy Deploy all staged artifacts.
upload Upload all artifacts.
release Create or update a release.
prepare Prepare all distributions.
package Package all distributions.
publish Publish all distributions.
announce Announce a release.
full-release Perform a full release.
generate-completion Generate bash/zsh completion script for jreleaser.
json-schema Generate JSON schema.
Documentation found at https://jreleaser.org
Environment Variables
The following settings may also be specified via environment variables
Setting | Environment Variable | Default |
---|---|---|
basedir |
JRELEASER_BASEDIR |
<current-execution-directory> |
output-directory |
JRELEASER_OUTPUT_DIRECTORY |
out |
dry-run |
JRELEASER_DRY_RUN |
false |
strict |
JRELEASER_STRICT |
false |
git-root-search |
JRELEASER_GIT_ROOT_SEARCH |
false |
select-current-platform |
JRELEASER_SELECT_CURRENT_PLATFORM |
false |
select-platform |
JRELEASER_SELECT_PLATFORMS |
<empty-string> |
reject-platform |
JRELEASER_REJECT_PLATFORMS |
<empty-string> |
JRELEASER_DEFAULT_GIT_REMOTE |
origin |
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 command 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
command flag.
$ JRELEASER_SELECT_CURRENT_PLATFORM jreleaser checksum
$ jreleaser checksum --select-current-platform
Use the JRELEASER_SELECT_PLATFORMS
environment variable or the --select-platform
command flag, i.e,
$ JRELEASER_SELECT_PLATFORMS=osx-x86_64 jreleaser checksum
$ jreleaser checksum --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
command flag, i.e,
$ JRELEASER_REJECT_PLATFORMS=windows-x86_64 jreleaser checksum
$ jreleaser checksum --reject-platform=windows-x86_64
Every artifact whose platform property matches the given platform will end up filtered out.
Install
sdkman
sdk install jreleaser
manually
Download the pre-compiled binary from the releases page, uncompress and copy to the desired location.
sdkman
sdk install jreleaser
manually
Download the pre-compiled binary from the releases page, uncompress and copy to the desired location.
homebrew tap
brew install jreleaser/tap/jreleaser
sdkman
sdk install jreleaser
manually
Download the pre-compiled binary from the releases page, uncompress and copy to the desired location.
Configuration
JReleaser must be configured using the YAML, TOML, or JSON DSLs shown at Reference.
Commands
The following commands are supported:
env
$ jreleaser env -h
Display environment variable names.
Usage: jreleaser env [-hV] [-D=<key=value>]...
Options:
-D=<key=value> Sets a System property. 🔁
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Documentation found at https://jreleaser.org
init
$ jreleaser init -h
Create a jreleaser config file.
Usage: jreleaser init [-ghioqVw] [-b=<directory>] [-f=<format>] [-od=<directory>] [-D=<key=value>]...
Options:
-b, --basedir=<directory> Base directory.
-D=<key=value> Sets a System property. 🔁
-f, --format=<format> Configuration file format.
-g, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-o, --overwrite Overwrite existing files.
-od, --output-directory=<directory> Output directory.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Documentation found at https://jreleaser.org
Currently supported formats are: yml
, json
, and toml
.
The file will be generated at <basedir>
if specified, otherwise at the current directory.
config
$ jreleaser config -h
Display current configuration.
Usage: jreleaser config [-fghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[--announce | -a | --changelog | -d]
Options:
-a, --assembly Display assembly configuration.
--announce Display announce configuration.
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
--changelog Display changelog configuration.
-d, --download Display download configuration.
-D=<key=value> Sets a System property. 🔁
-f, --full Display full configuration.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
template
$ jreleaser template -h
Generate or eval templates.
Usage: jreleaser template [-hV] [-D=<key=value>]... [COMMAND]
Options:
-D=<key=value> Sets a System property. 🔁
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
generate Generate a packager/announcer template.
eval Evaluate a template or templates.
Documentation found at https://jreleaser.org
template generate
$ jreleaser template generate -h
Generate a packager/announcer template.
Usage: jreleaser template generate [-ghioqVw] [-sn] [-b=<directory>] [-od=<directory>] [-D=<key=value>]...
([-a=<announcer>] | [-st=<type> -s=<name>] | [-d=<distribution>
-p=<packager> [-dt=<type>]])
Options:
-b, --basedir=<directory> Base directory.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-o, --overwrite Overwrite existing files.
-od, --output-directory=<directory> Output directory.
-q, --quiet Log errors only.
-sn, --snapshot Use snapshot templates.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Announcer templates
-a, --announcer=<announcer> The name of the announcer.
Assembler templates
-s, --assembler-name=<name> The name of the assembler.
-st, --assembler-type=<type> The type of the assembler.
Packager templates
-d, --distribution=<distribution> The name of the distribution.
-dt, --distribution-type=<type> The type of the distribution.
Defaults to JAVA_BINARY.
-p, --packager=<packager> The name of the packager.
Documentation found at https://jreleaser.org
If --basedir
is undefined then the command assumes it’s the current directory.
Announcer and tool settings are mutually exclusive.
The value of --announcer
must match any of the available announcers.
The value of --assembler-type
must match any of the available assemblers while
the value of --assembler-name
must match any of the available assembler names.
The value of --distribution
must match the name of a configured
distribution.
The value of --distribution-type
must match any of the available
distribution types.
The value of --packager
must match any of the available Packagers.
template eval
$ jreleaser template eval
Evaluate a template or templates.
Usage: jreleaser template eval [-ghioqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] --target-directory=<directory> [-D=<key=value>]...
[-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]... [--announce | -a |
--changelog | -d] (--input-file=<file> | --input-directory=<directory>)
Options:
-a, --assembly Eval model in assembly configuration.
--announce Eval model in announce configuration.
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
--changelog Eval model in changelog configuration.
-d, --download Eval model in download configuration.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
--input-directory=<directory> A directory with input templates.
--input-file=<file> An input template file.
-o, --overwrite Overwrite existing files.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
--target-directory=<directory> Directory where evaluated template(s) will be placed.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
download
Executes the Download workflow step.
$ jreleaser download -h
Download assets.
Usage: jreleaser download [-ghiqVw] [--dry-run] [-grs] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [[[-d=<downloader>]...
[-dn=<name>]...] | [[-xd=<downloader>]... [-xdn=<name>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --downloader=<downloader> Include a downloader by type. 🔁
-dn, --downloader-name=<name> Include a downloader by name. 🔁
Exclude Filter:
-xd, --exclude-downloader=<downloader> Exclude a downloader by type. 🔁
-xdn, --exclude-downloader-name=<name> Exclude a downloader by name. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --downloader
and --exclude-downloader-type
must match the type of configured
downloader.
The value of --downloader-name
and --exclude-downloader-name
must match any of the available named
downloaders.
This command must be invoked separately from the others.
assemble
Executes the Assemble workflow step.
$ jreleaser assemble -h
Assemble distributions.
Usage: jreleaser assemble [-ghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[[[-s=<assembler>]... [-d=<distribution>]...] | [[-xs=<assembler>]...
[-xd=<distribution>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
-s, --assembler=<assembler> Include an assembler. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xs, --exclude-assembler=<assembler> Exclude an assembler. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --assembler
and --exclude-assembler
must match any of the available
assemblers.
The value of --distribution
and --exclude-distribution
must match the name of a configured assembler found in the
assemblers section.
This command must be invoked separately from the others as some assemblers are platform specific.
changelog
Executes the Changelog workflow step.
$ jreleaser changelog -h
Calculate the changelog.
Usage: jreleaser changelog [-ghiqVw] [--dry-run] [-grs] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]...
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
catalog
Executes the Catalog workflow step.
$ jreleaser catalog -h
Catalog artifacts and files.
Usage: jreleaser catalog [-ghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[[[--distribution=<distribution>]... [--cataloger=<cataloger>]...] |
[[--exclude-distribution=<distribution>]... [--exclude-cataloger=<cataloger>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
--cataloger=<cataloger> Include a cataloger. 🔁
--distribution=<distribution> Include a distribution. 🔁
Exclude Filter:
--exclude-cataloger=<cataloger> Exclude a cataloger. 🔁
--exclude-distribution=<distribution> Exclude a distribution. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
checksum
Executes the Checksum workflow step.
$ jreleaser checksum -h
Calculate checksums.
Usage: jreleaser checksum [-ghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[[[-d=<distribution>]...] | [[-xd=<distribution>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured distribution found
in the distribution section.
sign
Executes the Sign workflow step.
$ jreleaser sign -h
Sign release artifacts.
Usage: jreleaser sign [-ghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[[[-d=<distribution>]...] | [[-xd=<distribution>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured distribution found
in the distribution section.
deploy
Executes the Deploy workflow step.
$ jreleaser deploy -h
Deploy all staged artifacts.
Usage: jreleaser deploy [-ghiqVw] [--dry-run] [-grs] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [[[-y=<deployer>]...
[-yn=<name>]...] | [[-xy=<deployer>]... [-xyn=<name>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-y, --deployer=<deployer> Include a deployer by type. 🔁
-yn, --deployer-name=<name> Include a deployer by name. 🔁
Exclude Filter:
-xy, --exclude-deployer=<deployer> Exclude a deployer by type. 🔁
-xyn, --exclude-deployer-name=<name> Exclude a deployer by name. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --deployer
and --exclude-deployer
must match the type of configured
deployer.
The value of --deployer-name
and --exclude-deployer-name
must match any of the available named
deployers.
Use --dry-run during development to verify your configuration settings. No network deploys nor repository
mutations should occur when this mode is activated.
|
You may invoke this command in the following ways:
Deploy all artifacts:
$ jreleaser deploy
Deploy all artifacts to all configured Artifactory deployers:
$ jreleaser deploy --deployer artifactory
Deploy all artifacts with all deployers with matching name:
$ jreleaser deploy --deployer-name mine
Deploy all artifacts to a matching Artifactory deployer:
$ jreleaser deploy --deployer artifactory --deployer-name mine
upload
Executes the Upload workflow step.
$ jreleaser upload -h
Upload all artifacts.
Usage: jreleaser upload [-ghiqVw] [--dry-run] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]...
[-sp=<platform>]... [[[-u=<uploader>]... [-un=<name>]... [-d=<distribution>]...
[--cataloger=<cataloger>]...] | [[-xu=<uploader>]... [-xun=<name>]...
[-xd=<distribution>]... [--exclude-cataloger=<cataloger>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
--cataloger=<cataloger> Include a cataloger. 🔁
-d, --distribution=<distribution> Include a distribution. 🔁
-u, --uploader=<uploader> Include an uploader by type. 🔁
-un, --uploader-name=<name> Include an uploader by name. 🔁
Exclude Filter:
--exclude-cataloger=<cataloger> Exclude a cataloger. 🔁
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xu, --exclude-uploader=<uploader> Exclude an uploader by type. 🔁
-xun, --exclude-uploader-name=<name> Exclude an uploader by name. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --uploader
and --exclude-uploader-type
must match the type of configured
uploader.
The value of --uploader-name
and --exclude-uploader-name
must match any of the available named
uploaders.
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
You may invoke this command in the following ways:
Upload all artifacts:
$ jreleaser upload
Upload all artifacts to all configured Artifactory uploaders:
$ jreleaser upload --uploader-type artifactory
Upload all artifacts with all uploaders with matching name:
$ jreleaser upload --uploader-name mine
Upload all artifacts to a matching Artifactory uploader:
$ jreleaser upload --uploader-type artifactory --uploader-name mine
release
Executes the Release workflow step.
$ jreleaser release -h
Create or update a release.
Usage: jreleaser release [-ghiqVw] [--dry-run] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]...
[-sp=<platform>]... [[[-d=<distribution>]... [-y=<deployer>]... [-yn=<name>]...
[-u=<uploader>]... [-un=<name>]... [--cataloger=<cataloger>]...] |
[[-xd=<distribution>]... [-xy=<deployer>]... [-xyn=<name>]... [-xu=<uploader>]...
[-xun=<name>]... [--exclude-cataloger=<cataloger>]...] | [[--auto-config]
[--project-name=<name>] [--project-version=<version>]
[--project-version-pattern=<pattern>] [--project-snapshot-pattern=<pattern>]
[--project-snapshot-label=<label>] [--project-snapshot-full-changelog]
[--project-copyright=<copyright>] [--project-description=<description>]
[--project-inception-year=<year>] [--project-stereotype=<stereotype>]
[--author=<author>]... [--tag-name=<tag>] [--previous-tag-name=<tag>]
[--release-name=<name>] [--milestone-name=<name>] [--prerelease]
[--prerelease-pattern=<pattern>] [--draft] [--overwrite] [--update]
[--update-section=<section>]... [--skip-tag] [--skip-release] [--skip-checksums]
[--branch=<branch>] [--changelog=<changelog>] [--changelog-formatted]
[--username=<username>] [--commit-author-name=<name>]
[--commit-author-email=<email>] [--signing-enabled] [--signing-armored]
[--file=<file>]... [--glob=<glob>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
--cataloger=<cataloger> Include a cataloger. 🔁
-d, --distribution=<distribution> Include a distribution. 🔁
-u, --uploader=<uploader> Include an uploader by type. 🔁
-un, --uploader-name=<name> Include an uploader by name. 🔁
-y, --deployer=<deployer> Include a deployer by type. 🔁
-yn, --deployer-name=<name> Include a deployer by name. 🔁
Exclude Filter:
--exclude-cataloger=<cataloger> Exclude a cataloger. 🔁
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xu, --exclude-uploader=<uploader> Exclude an uploader by type. 🔁
-xun, --exclude-uploader-name=<name> Exclude an uploader by name. 🔁
-xy, --exclude-deployer=<deployer> Exclude a deployer by type. 🔁
-xyn, --exclude-deployer-name=<name> Exclude a deployer by name. 🔁
Auto Config Options:
--author=<author> The project authors. 🔁
--auto-config Activate auto configuration.
--branch=<branch> The release branch.
--changelog=<changelog> Path to changelog file.
--changelog-formatted Format generated changelog.
--commit-author-email=<email> Commit author e-mail.
--commit-author-name=<name> Commit author name.
--draft If the release is a draft.
--file=<file> Input file to be uploaded. 🔁
--glob=<glob> Input file to be uploaded (as glob). 🔁
--milestone-name=<name> The milestone name.
--overwrite Overwrite an existing release.
--prerelease If the release is a prerelease.
--prerelease-pattern=<pattern> The prerelease pattern.
--previous-tag-name=<tag> The previous release tag.
--project-copyright=<copyright> The project copyright.
--project-description=<description> The project description.
--project-inception-year=<year> The project inception year.
--project-name=<name> The project name.
--project-snapshot-full-changelog Calculate full changelog since last non-snapshot release.
--project-snapshot-label=<label> The project snapshot label.
--project-snapshot-pattern=<pattern> The project snapshot pattern.
--project-stereotype=<stereotype> The project stereotype.
--project-version=<version> The project version.
--project-version-pattern=<pattern> The project version pattern.
--release-name=<name> The release name.
--signing-armored Generate ascii armored signatures.
--signing-enabled Sign files.
--skip-checksums Skip creating checksums.
--skip-release Skip creating a release.
--skip-tag Skip tagging the release.
--tag-name=<tag> The release tag.
--update Update an existing release.
--update-section=<section> Release section to be updated. 🔁
--username=<username> Git username.
Documentation found at https://jreleaser.org
There are two usage modes:
-
auto config
-
with explicit configuration file
AutoConfig
If --basedir
is undefined then the command assumes it’s the same directory where the command is run.
The --file
parameter is repeatable.
The --glob
parameter must be quote, for example --glob "target/*.jar"
.
Explicit Configuration file
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured distribution found
in the distribution section.
None of the command flags that override model properties can be used in this mode. |
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
prepare
Executes the Prepare workflow step.
$ jreleaser prepare -h
Prepare all distributions.
Usage: jreleaser prepare [-ghiqVw] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>] [-od=<directory>]
[-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]... [-sp=<platform>]...
[[[-d=<distribution>]... [-p=<packager>]...] | [[-xd=<distribution>]...
[-xp=<packager>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
-p, --packager=<packager> Include a packager. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xp, --exclude-packager=<packager> Exclude a packager. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured
distribution.
The value of --packager
and --exclude-packager
must match any of the available
Packagers.
You may invoke this command in the following ways:
Prepare all distributions:
$ jreleaser prepare
Prepare a single distribution with all configured tools:
$ jreleaser prepare --distribution-name app
Prepare all distributions with a single tool:
$ jreleaser prepare --packager-name brew
Prepare a single distribution with a single tool:
$ jreleaser prepare --distribution-name app --packager-name brew
package
Executes the Package workflow step.
$ jreleaser package -h
Package all distributions.
Usage: jreleaser package [-ghiqVw] [--dry-run] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]...
[-sp=<platform>]... [[[-d=<distribution>]... [-p=<packager>]...] |
[[-xd=<distribution>]... [-xp=<packager>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
-p, --packager=<packager> Include a packager. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xp, --exclude-packager=<packager> Exclude a packager. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured
distribution.
The value of --packager
and --exclude-packager
must match any of the available
Packagers.
You may invoke this command in the following ways:
Package all distributions:
$ jreleaser package
Package a single distribution with all configured tools:
$ jreleaser package --distribution-name app
Package all distributions with a single tool:
$ jreleaser package --packager-name brew
Package a single distribution with a single tool:
$ jreleaser package --distribution-name app --packager-name brew
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
publish
Executes the Publish workflow step.
$ jreleaser publish -h
Publish all distributions.
Usage: jreleaser publish [-ghiqVw] [--dry-run] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]...
[-sp=<platform>]... [[[-d=<distribution>]... [-p=<packager>]...] |
[[-xd=<distribution>]... [-xp=<packager>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-d, --distribution=<distribution> Include a distribution. 🔁
-p, --packager=<packager> Include a packager. 🔁
Exclude Filter:
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xp, --exclude-packager=<packager> Exclude a packager. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --distribution
and --exclude-distribution
must match the name of a configured
distribution.
The value of --packager
and --exclude-packager
must match any of the available
Packagers.
You may invoke this command in the following ways:
Publish all distributions:
$ jreleaser publish
Publish a single distribution with all configured tools:
$ jreleaser publish --distribution-name app
Publish all distributions with a single tool:
$ jreleaser publish --packager-name brew
Publish a single distribution with a single tool:
$ jreleaser publish --distribution-name app --packager-name brew
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
announce
Executes the Announce workflow step.
$ jreleaser announce -h
Announce a release.
Usage: jreleaser announce [-ghiqVw] [--dry-run] [-grs] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [[[-a=<announcer>]...] |
[[-xa=<announcer>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-a, --announcer=<announcer> Include an announcer. 🔁
Exclude Filter:
-xa, --exclude-announcer=<announcer> Exclude an announcer. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
The value of --announcer
and --exclude-announcer
must match any of the available
announcers.
You may invoke this command in the following ways:
Announce with all configured announcers:
$ jreleaser announce
Announce with a single announcer:
$ jreleaser announce --announcer-name brew
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
full-release
Executes the Full Release workflow step.
$ jreleaser full-release -h
Perform a full release.
Usage: jreleaser full-release [-ghiqVw] [--dry-run] [-grs] [-scp] [--strict] [-b=<directory>] [-c=<file>]
[-od=<directory>] [-D=<key=value>]... [-P=<key=value>]... [-rp=<platform>]...
[-sp=<platform>]... [[[-y=<deployer>]... [-yn=<name>]... [-u=<uploader>]...
[-un=<name>]... [-d=<distribution>]... [-p=<packager>]... [-a=<announcer>]...
[--cataloger=<cataloger>]...] | [[-xy=<deployer>]... [-xyn=<name>]...
[-xu=<uploader>]... [-xun=<name>]... [-xd=<distribution>]...
[-xp=<packager>]... [-xa=<announcer>]... [--exclude-cataloger=<cataloger>]...]]
Options:
-b, --basedir=<directory> Base directory.
-c, --config-file=<file> The config file.
-D=<key=value> Sets a System property. 🔁
--dry-run Skip remote operations.
-g, --debug Set log level to debug.
-grs, --git-root-search Searches for the Git root.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-od, --output-directory=<directory> Output directory.
-P, --set-property=<key=value> Sets the value of a property. 🔁
-q, --quiet Log errors only.
-rp, --reject-platform=<platform> Activates paths not matching the given platform. 🔁
-scp, --select-current-platform Activates paths matching the current platform.
-sp, --select-platform=<platform> Activates paths matching the given platform. 🔁
--strict Enable strict mode.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
Include Filter:
-a, --announcer=<announcer> Include an announcer. 🔁
--cataloger=<cataloger> Include a cataloger. 🔁
-d, --distribution=<distribution> Include a distribution. 🔁
-p, --packager=<packager> Include a packager. 🔁
-u, --uploader=<uploader> Include an uploader by type. 🔁
-un, --uploader-name=<name> Include an uploader by name. 🔁
-y, --deployer=<deployer> Include a deployer by type. 🔁
-yn, --deployer-name=<name> Include a deployer by name. 🔁
Exclude Filter:
--exclude-cataloger=<cataloger> Exclude a cataloger. 🔁
-xa, --exclude-announcer=<announcer> Exclude an announcer. 🔁
-xd, --exclude-distribution=<distribution> Exclude a distribution. 🔁
-xp, --exclude-packager=<packager> Exclude a packager. 🔁
-xu, --exclude-uploader=<uploader> Exclude an uploader by type. 🔁
-xun, --exclude-uploader-name=<name> Exclude an uploader by name. 🔁
-xy, --exclude-deployer=<deployer> Exclude a deployer by type. 🔁
-xyn, --exclude-deployer-name=<name> Exclude a deployer by name. 🔁
Documentation found at https://jreleaser.org
If --config-file
is undefined then the command assumes the file is named jreleaser.[yml|toml|json]
and it’s
found at the current directory.
If --basedir
is undefined then the command assumes it’s the same directory that contains the resolved config file.
Use --dry-run during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
|
generate-completion
$ jreleaser jreleaser generate-completion -h
JReleaser is a release automation tool for Java projects.
Usage: jreleaser generate-completion [-hV]
Generate bash/zsh completion script for jreleaser.
Run the following command to give `jreleaser` TAB completion in the current shell:
source <(jreleaser generate-completion)
Options:
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Documentation found at https://jreleaser.org
json-schema
$ jreleaser json-schema -h
Generate JSON schema.
Usage: jreleaser json-schema [-hV] [-D=<key=value>]...
Options:
-D=<key=value> Sets a System property. 🔁
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Documentation found at https://jreleaser.org