Files
jreleaser.github.io/docs/modules/tools/pages/cli.adoc
2021-04-13 14:53:17 +02:00

506 lines
18 KiB
Plaintext

= JReleaser CLI
Executes a JReleaser workflow as a command-line interface (CLI).
[source,bash]
----
$ jreleaser -h
Usage: jreleaser [-hV] [COMMAND]
jreleaser
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
init Create a jreleaser config file
config Display current configuration
template Generate a tool template
changelog Calculate the changelog
checksum Calculate checksums
sign Sign release artifacts
release Create or update a release
prepare Prepare all distributions
package Package all distributions
upload Upload all distributions
announce Announce a release
full-release Perform a full release
----
The following commands are supported:
== init
[source,bash]
----
$ jreleaser init -h
Usage: jreleaser init [-dhioqVw] [-b=<basedir>] [-f=<format>]
Create a jreleaser config file
-b, --basedir=<basedir> Base directory
-d, --debug Set log level to debug.
-f, --format=<format> Configuration file format
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-o, --overwrite Overwrite existing files
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
Currently supported formats are: `yml`, `json`.
The file will be generated at `<basedir>` if specified, otherwise at the current directory.
== config
[source,bash]
----
$ jreleaser config -h
Usage: jreleaser config [-dhiqVw] [-b=<basedir>] [-c=<configFile>]
Display current configuration
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
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
[source,bash]
----
$ jreleaser template -h
Usage: jreleaser template [-dhioqsVw] [-b=<basedir>] -dn=<distributionName>
[-dt=<distributionType>] -tn=<toolName>
Generate a tool template
-b, --basedir=<basedir> Base directory
-d, --debug Set log level to debug.
-dn, --distribution-name=<distributionName>
The name of the distribution
-dt, --distribution-type=<distributionType>
The type of the distribution
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-o, --overwrite Overwrite existing files
-q, --quiet Log errors only.
-s, --snapshot Use snapshot templates
-tn, --tool-name=<toolName>
The name of the tool
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
If `--basedir` is undefined then the command assumes it's the current directory.
The value of `--distribution-name` must eventually match the name of a configured
xref:configuration:distributions.adoc[distribution].
The value of `--distribution-type` must match any of the available
xref:ROOT:distributions/index.adoc[distribution types].
The value of `--tool-name` must match any of the available xref:configuration:packagers/index.adoc[].
== changelog
[source,bash]
----
jreleaser changelog -h
Usage: jreleaser changelog [-dhiqVw] [-b=<basedir>] [-c=<configFile>]
Calculate the changelog
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
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
[source,bash]
----
jreleaser checksum -h
Usage: jreleaser checksum [-dhiqVw] [-b=<basedir>] [-c=<configFile>]
Calculate checksums
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
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.
== sign
[source,bash]
----
jreleaser sign -h
Usage: jreleaser sign [-dhiqVw] [-b=<basedir>] [-c=<configFile>]
Sign release artifacts
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
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.
== release
[source,bash]
----
jreleaser release -h
Usage: jreleaser release [-dhiqVwy] [--auto-config] [--overwrite]
[--prerelease] [--signing-armored] [--signing-enabled]
[--skip-tag] [--update] [-b=<basedir>]
[-c=<configFile>] [--changelog=<changelog>]
[--commit-author-email=<commitAuthorEmail>]
[--commit-author-name=<commitAuthorName>]
[--milestone-name=<milestoneName>]
[--project-name=<projectName>]
[--project-version=<projectVersion>]
[--release-name=<releaseName>] [--tag-name=<tagName>]
[--file=<files>]...
Create or update a release
--auto-config Model auto configuration
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
--changelog=<changelog>
Path to changelog file
--commit-author-email=<commitAuthorEmail>
Commit author e-mail
--commit-author-name=<commitAuthorName>
Commit author name
-d, --debug Set log level to debug.
--file=<files> Input file(s) to be uploaded
-h, --help Show this help message and exit.
-i, --info Set log level to info.
--milestone-name=<milestoneName>
The milestone name
--overwrite Overwrite an existing release
--prerelease If the release is a prerelease
--project-name=<projectName>
The projects name
--project-version=<projectVersion>
The projects version
-q, --quiet Log errors only.
--release-name=<releaseName>
The release name
--signing-armored Generate ascii armored signatures
--signing-enabled Sign files
--skip-tag Skip tagging the release
--tag-name=<tagName> The release tag
--update Update an existing release
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skips remote operations.
----
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.
*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.
IMPORTANT: None of the command flags that override model properties can be used in this mode.
NOTE: Use `-y` or `--dryrun` during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
== prepare
[source,bash]
----
jreleaser prepare -h
Usage: jreleaser prepare [-dhiqVw] [-b=<basedir>] [-c=<configFile>]
[-dn=<distributionName>] [-tn=<toolName>]
Prepare all distributions
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-dn, --distribution-name=<distributionName>
The name of the distribution
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-tn, --tool-name=<toolName>
The name of the tool
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
----
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-name` must match the name of a configured xref:configuration:distributions.adoc[distribution].
The value of `--tool-name` must match any of the available xref:configuration:packagers/index.adoc[].
You may invoke this command in the following ways:
Prepare all distributions:
[source,bash]
----
$ jreleaser prepare
----
Prepare a single distribution with all configured tools:
[source,bash]
----
$ jreleaser prepare --distribution-name app
----
Prepare all distributions with a single tool:
[source,bash]
----
$ jreleaser prepare --tool-name brew
----
Prepare a single distribution with a single tool:
[source,bash]
----
$ jreleaser prepare --distribution-name app --tool-name brew
----
== package
[source,bash]
----
$ jreleaser package -h
Usage: jreleaser package [-dhiqVwy] [-b=<basedir>] [-c=<configFile>]
[-dn=<distributionName>] [-tn=<toolName>]
Package all distributions
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-dn, --distribution-name=<distributionName>
The name of the distribution
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-tn, --tool-name=<toolName>
The name of the tool
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skips remote operations.
----
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-name` must match the name of a configured xref:configuration:distributions.adoc[distribution].
The value of `--tool-name` must match any of the available xref:configuration:packagers/index.adoc[].
You may invoke this command in the following ways:
Package all distributions:
[source,bash]
----
$ jreleaser package
----
Package a single distribution with all configured tools:
[source,bash]
----
$ jreleaser package --distribution-name app
----
Package all distributions with a single tool:
[source,bash]
----
$ jreleaser package --tool-name brew
----
Package a single distribution with a single tool:
[source,bash]
----
$ jreleaser package --distribution-name app --tool-name brew
----
NOTE: Use `-y` or `--dryrun` during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
== upload
[source,bash]
----
jreleaser upload -h
Usage: jreleaser upload [-dhiqVwy] [-b=<basedir>] [-c=<configFile>]
[-dn=<distributionName>] [-tn=<toolName>]
Upload all distributions
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-dn, --distribution-name=<distributionName>
The name of the distribution
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-tn, --tool-name=<toolName>
The name of the tool
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skips remote operations.
----
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-name` must match the name of a configured xref:configuration:distributions.adoc[distribution].
The value of `--tool-name` must match any of the available xref:configuration:packagers/index.adoc[].
You may invoke this command in the following ways:
Upload all distributions:
[source,bash]
----
$ jreleaser upload
----
Upload a single distribution with all configured tools:
[source,bash]
----
$ jreleaser upload --distribution-name app
----
Upload all distributions with a single tool:
[source,bash]
----
$ jreleaser upload --tool-name brew
----
Upload a single distribution with a single tool:
[source,bash]
----
$ jreleaser upload --distribution-name app --tool-name brew
----
NOTE: Use `-y` or `--dryrun` during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
== announce
[source,bash]
----
jreleaser announce -h
Usage: jreleaser announce [-dhiqVwy] [-an=<announcerName>] [-b=<basedir>]
[-c=<configFile>]
Announce a release
-an, --announcer-name=<announcerName>
The name of the announcer
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skips remote operations.
----
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-name` must match any of the available xref:configuration:announce/index.adoc[announcers].
You may invoke this command in the following ways:
Announce with all configured announcers:
[source,bash]
----
$ jreleaser announce
----
Announce with a single announcer:
[source,bash]
----
$ jreleaser announce --announcer-name brew
----
NOTE: Use `-y` or `--dryrun` during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.
== full-release
[source,bash]
----
jreleaser full-release -h
Usage: jreleaser full-release [-dhiqVwy] [-b=<basedir>] [-c=<configFile>]
Perform a full release
-b, --basedir=<basedir> Base directory
-c, --config-file=<configFile>
The config file
-d, --debug Set log level to debug.
-h, --help Show this help message and exit.
-i, --info Set log level to info.
-q, --quiet Log errors only.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skips remote operations.
----
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.
NOTE: Use `-y` or `--dryrun` during development to verify your configuration settings. No network uploads nor repository
mutations should occur when this mode is activated.