Files
jreleaser.github.io/docs/modules/quick-start/pages/cli.adoc
2021-05-30 23:26:42 +02:00

99 lines
2.8 KiB
Plaintext

= Command Line
Once JReleaser is installed you may initialize its config file by invoking the following command:
[source]
----
$ jreleaser init --format yml
[INFO] Writing file /Home/duke/app/jreleaser.yml
[INFO] JReleaser initialized at /Home/duke/app
----
TIP: JReleaser supports the following formats: `yml`, `toml`, `json`.
This generates a `jreleaser.yml` file with the following configuration
[source,yaml]
.jreleaser.yml
----
project:
name: app
version: 1.0.0-SNAPSHOT
description: Awesome App
longDescription: Awesome App
website: https://acme.com/app
authors:
- Duke
license: Apache-2
java:
groupId: com.acme
version: 8
extraProperties:
inceptionYear: 2021
release:
github:
owner: duke
distributions:
app:
artifacts:
- path: path/to/{{distributionName}}-{{projectVersion}}.zip
----
Edit the file to suite your needs. JReleaser *does not* create artifact files for you. It assumes those are created using
other tools; JReleaser only cares if the resolved artifact paths exist. Once you have edited the file you may verify its
configuration by invoking
[source]
----
$ jreleaser config
----
At any time you may invoke any of the other commands, but when it's time to make a release you have to invoke
[source]
[subs="attributes"]
----
$ jreleaser full-release
[INFO] JReleaser {jreleaser-version}
[INFO] Configuring with jreleaser.yml
[INFO] - basedir set to /Home/duke/app
[INFO] Reading configuration
[INFO] Loading properties from /Home/duke/.jreleaser/config.properties
[INFO] Validating configuration
[INFO] Project version set to 1.0.0
[INFO] Release is not snapshot
[INFO] Timestamp is 2021-03-28T12:25:16.219+02:00
[INFO] HEAD is at c3e39f1
[INFO] dryrun set to false
[INFO] Generating changelog: out/jreleaser/release/CHANGELOG.md
[INFO] Calculating checksums
[INFO] [checksum] target/distributions/app/app-1.0.0.zip
[INFO] Signing files
[INFO] Signing is not enabled. Skipping
[INFO] Uploading is not enabled. Skipping.
[INFO] Releasing to https://github.com/duke/app
[INFO] - Uploading app-1.0.0.zip
[INFO] - Uploading checksums.txt
[INFO] Preparing distributions
[INFO] - Preparing app distribution
[INFO] Packaging distributions
[INFO] - Packaging app distribution
[INFO] Publishing distributions
[INFO] - Publishing app distribution
[INFO] Announcing release
[INFO] Announcing is not enabled. Skipping.
[INFO] JReleaser succeeded after 0.894s
[INFO] Writing output properties to out/jreleaser/output.properties
----
This command performs the following actions:
* checksums all artifacts.
* signs all files (if signing is enabled).
* creates a release at the chosen Git repository.
* prepares, packages, and uploads configured packagers (brew, jbang, etc).
* announces the release (if configured).