Command Line
Once JReleaser is installed you may initialize its config file by invoking the following command:
$ jreleaser init --format yml
[INFO] Writing file /Home/duke/app/jreleaser.yml
[INFO] JReleaser initialized at /Home/duke/app
JReleaser supports the following formats: yml , toml , json .
|
This generates a jreleaser.yml
file with the following configuration
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. You may use the Archive assembler to create a binary distribution, or use any other means at your disposal to create such a file. Once you have edited the file you may verify its configuration by invoking
$ 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
$ jreleaser full-release
[INFO] JReleaser 1.0.0
[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] Platform is osx-x86_64
[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] [sign] 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] Writing output properties to out/jreleaser/output.properties
[INFO] JReleaser succeeded after 0.894s
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).