Document latest changes

This commit is contained in:
Andres Almiray
2021-05-07 00:30:12 +02:00
parent 836d858005
commit e18161bdb7
15 changed files with 1296 additions and 436 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 179 KiB

View File

@@ -36,8 +36,6 @@ All files must exist by the time Checksum is invoked, otherwise an error will oc
Checksums will be placed at `${basedir}/out/jreleaser/checksums`.
Depends on <<_changelog>>.
== Sign
Creates PGP signatures for all input files. This includes all artifacts per distribution and every matching
@@ -49,13 +47,20 @@ Signatures will be placed at `${basedir}/out/jreleaser/signatures`.
Depends on <<_checksum>>.
== Upload
Uploads artifacts and files to the configured destinations. This step uploads signatures (if enabled), all distribution
artifacts, and every matching file configured in the xref:configuration:files.adoc[] section. This step is optional.
Depends on <<_sign>>.
== Release
Creates a release at the configured remote Git repository (see xref:configuration:release/index.adoc[]). This step uploads
all checksums, signatures (if enabled), all distribution artifacts, and every matching file configured in the
xref:configuration:files.adoc[] section. Automatically calculates a changelog & tags the release.
Depends on <<_sign>>.
Depends on <<_upload>>.
== Prepare
@@ -105,6 +110,7 @@ Executes all steps in single session in the following order:
* <<_changelog>>
* <<_checksum>>
* <<_sign>>
* <<_upload>>
* <<_release>>
* <<_prepare>>
* <<_package>>

View File

@@ -16,6 +16,8 @@
*** xref:packagers/jbang.adoc[]
*** xref:packagers/scoop.adoc[]
*** xref:packagers/snap.adoc[]
** xref:upload/index.adoc[]
*** xref:upload/artifactory.adoc[]
** xref:distributions.adoc[]
** xref:files.adoc[]
** xref:announce/index.adoc[]

View File

@@ -154,7 +154,7 @@ JSON::
// The Zulip account (typically an email address) to use.
// icon:exclamation-triangle[]
"account": pass:[announce-bot@my.zulipchat.com],
"account": "pass:[announce-bot@my.zulipchat.com]",
// The Zulip server endpoint.
// icon:exclamation-triangle[]
@@ -238,7 +238,8 @@ Maven::
<!--
The ApiKey associated with the given account.
If left unspecified, the `JRELEASER_ZULIP_API_KEY` environment variable must be defined.
If left unspecified, the `JRELEASER_ZULIP_API_KEY`
environment variable must be defined.
icon:exclamation-triangle[] icon:eye-slash[]
-->
<apiKey>__DO_NOT_SET_HERE__</apiKey>

View File

@@ -0,0 +1,468 @@
= Artifactory
Uploads artifacts, files, and signatures to an Artifactory instance.
.Prerequisites:
* A running Artifactory instance.
* A generic repository.
* A user + password / token with grants to upload an artifact.
IMPORTANT: This feature *does not* support deploying JARs and POMs to a Maven repository.
include::partial$legend.adoc[]
[tabs]
====
YAML::
+
[source,yaml]
[subs="+macros"]
----
# icon:dot-circle[]
upload:
# icon:dot-circle[]
artifactories:
# Uploaders require a name.
# icon:exclamation-triangle[]
app:
# Enables or disables the uploader.
# Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
# icon:dot-circle[]
active: ALWAYS
# Defines the connection timeout in seconds.
# Defaults to `20`.
# icon:dot-circle[]
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
# icon:dot-circle[]
readTimeout: 60
# URL of the Artifacttory instance + path.
# The artifact file name will be appended automatically.
# icon:exclamation-triangle[] icon:file-alt[]
target: pass:[https://duke.jfrog.io/artifactory/binaries/{{projectName}}/{{projectVersion}}]
# The username that can write to the repository.
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_USERNAME`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
username: __DO_NOT_SET_HERE__
# Password for login into the repository.
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_PASSWORD`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
password: __DO_NOT_SET_HERE__
# Token for login into the repository.
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_TOKEN`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
token: __DO_NOT_SET_HERE__
# Upload files.
# Defaults to `true`.
# icon:dot-circle[]
files: true
# Upload distribution artifacts.
# Defaults to `true`.
# icon:dot-circle[]
artifacts: true
# Upload signatures.
# Defaults to `true`.
# icon:dot-circle[]
signatures: true
# Additional properties used when evaluating templates.
# icon:dot-circle[]
extraProperties:
# Key will be capitalized and prefixed with `artifactory`, i.e, `artifactoryFoo`.
foo: bar
----
TOML::
+
[source,toml]
[subs="+macros"]
----
# Uploaders require a name.
# icon:exclamation-triangle[]
[upload.artifactories.app]
# Enables or disables the uploader.
# Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
# icon:dot-circle[]
active = "ALWAYS"
# Defines the connection timeout in seconds.
# Defaults to `20`.
# icon:dot-circle[]
connectTimeout = 20
# Defines the read timeout in seconds.
# Defaults to `60`.
# icon:dot-circle[]
readTimeout = 60
# URL of the Artifacttory instance + path.
# The artifact file name will be appended automatically.
# icon:exclamation-triangle[] icon:file-alt[]
target = "pass:[https://duke.jfrog.io/artifactory/binaries/{{projectName}}/{{projectVersion}}]"
# The username that can write to the repository.
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_USERNAME`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
username = "__DO_NOT_SET_HERE__"
# Password for login into the repository..
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_PASSWORD`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
password = "__DO_NOT_SET_HERE__"
# Token for login into the repository.
# If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_TOKEN`
# environment variable must be defined.
# icon:exclamation-triangle[] icon:eye-slash[]
token = "__DO_NOT_SET_HERE__"
# Upload files.
# Defaults to `true`.
# icon:dot-circle[]
files = true
# Upload distribution artifacts.
# Defaults to `true`.
# icon:dot-circle[]
artifacts = true
# Upload signatures.
# Defaults to `true`.
# icon:dot-circle[]
signatures = true
# Additional properties used when evaluating templates.
# icon:dot-circle[]
extraProperties.foo = "bar"
# Key will be capitalized and prefixed with `artifactory`, i.e, `artifactoryFoo`.
----
JSON::
+
[source,json]
[subs="+macros"]
----
{
// icon:dot-circle[]
"upload": {
// icon:dot-circle[]
"artifactories": {
// Uploaders require a name.
// icon:exclamation-triangle[]
"app": {
// Enables or disables the uploader.
// Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
// icon:dot-circle[]
"active": "ALWAYS",
// Defines the connection timeout in seconds.
// Defaults to `20`.
// icon:dot-circle[]
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
// icon:dot-circle[]
"readTimeout": 60,
// URL of the Artifacttory instance + path.
// The artifact file name will be appended automatically.
// icon:exclamation-triangle[] icon:file-alt[]
"target": "pass:[https://duke.jfrog.io/artifactory/binaries/{{projectName}}/{{projectVersion}}]",
// The username that can write to the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_USERNAME`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
"username": "__DO_NOT_SET_HERE__",
// Password for login into the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_PASSWORD`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
"password": "__DO_NOT_SET_HERE__",
// Token for login into the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_TOKEN`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
"token": "__DO_NOT_SET_HERE__",
// Upload files.
// Defaults to `true`.
// icon:dot-circle[]
"files": true,
// Upload distribution artifacts.
// Defaults to `true`.
// icon:dot-circle[]
"artifacts": true,
// Upload signatures.
// Defaults to `true`.
// icon:dot-circle[]
"signatures": true,
// Additional properties used when evaluating templates.
// icon:dot-circle[]
"extraProperties": {
// Key will be capitalized and prefixed with `artifactory`, i.e, `artifactoryFoo`.
"foo": "bar"
}
}
}
}
}
----
Maven::
+
[source,xml]
[subs="+macros,verbatim"]
----
<jreleaser>
<upload>
<!--
icon:dot-circle[]
-->
<artifactories>
<!--
Uploaders require a name.
icon:exclamation-triangle[]
-->
<app>
<!--
Enables or disables the distribution.
Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
Defaults to `ALWAYS`.
icon:dot-circle[]
-->
<active>ALWAYS</active>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
icon:dot-circle[]
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
icon:dot-circle[]
-->
<readTimeout>60</readTimeout>
<!--
URL of the Artifacttory instance + path.
The artifact file name will be appended automatically.
icon:exclamation-triangle[] icon:file-alt[]
-->
<target>pass:[https:my.zulipchat.com/api/v1]</target>
<!--
The username that can write to the repository.
If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_USERNAME`
environment variable must be defined.
icon:exclamation-triangle[] icon:eye-slash[]
-->
<username>__DO_NOT_SET_HERE__</username>
<!--
Password for login into the repository.
If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_PASSWORD`
environment variable must be defined.
icon:exclamation-triangle[] icon:eye-slash[]
-->
<password>__DO_NOT_SET_HERE__</password>
<!--
Token for login into the repository.
If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_TOKEN`
environment variable must be defined.
icon:exclamation-triangle[] icon:eye-slash[]
-->
<token>__DO_NOT_SET_HERE__</token>
<!--
Upload files.
Defaults to `true`.
icon:dot-circle[]
-->
<files>true</files>
<!--
Upload distribution artifacts.
Defaults to `true`.
icon:dot-circle[]
-->
<artifacts>true</artifacts>
<!--
Upload signatures.
Defaults to `true`.
icon:dot-circle[]
-->
<signatures>true</signatures>
<!--
Additional properties used when evaluating templates.
icon:dot-circle[]
-->
<extraProperties>
<!--
Key will be capitalized and prefixed with `artifactory`, i.e, `artifactoryFoo`.
-->
<foo>bar</foo>
</extraProperties>
</app>
</artifactories>
</upload>
</jreleaser>
----
Gradle::
+
[source,groovy]
[subs="+macros"]
----
jreleaser {
// icon:dot-circle[]
upload {
// icon:dot-circle[]
artifactories {
// Uploaders require a name.
// icon:exclamation-triangle[]
app {
// Enables or disables the uploader.
// Valid values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
// icon:dot-circle[]
active = 'ALWAYS'
// Defines the connection timeout in seconds.
// Defaults to `20`.
// icon:dot-circle[]
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
// icon:dot-circle[]
readTimeout = 60
// URL of the Artifacttory instance + path.
// The artifact file name will be appended automatically.
// icon:exclamation-triangle[] icon:file-alt[]
target = 'pass:[https://duke.jfrog.io/artifactory/binaries/{{projectName}}/{{projectVersion}}]'
// The username that can write to the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_USERNAME`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
username = '__DO_NOT_SET_HERE__'
// Password for login into the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_PASSWORD`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
password = '__DO_NOT_SET_HERE__'
// Token for login into the repository.
// If left unspecified, the `JRELEASER_ARTIFACTORY_${name}_TOKEN`
// environment variable must be defined.
// icon:exclamation-triangle[] icon:eye-slash[]
token = '__DO_NOT_SET_HERE__'
// Upload files.
// Defaults to `true`.
// icon:dot-circle[]
files = true
// Upload distribution artifacts.
// Defaults to `true`.
// icon:dot-circle[]
artifacts = true
// Upload signatures.
// Defaults to `true`.
// icon:dot-circle[]
signatures = true
// Additional properties used when evaluating templates.
// Key will be capitalized and prefixed with `artifactory`, i.e, `artifactoryFoo`.
// icon:dot-circle[]
extraProperties.put('foo', 'bar')
}
}
}
}
----
====
TIP: Either set `username`/`password` or `token`.
== Target
The target is the URL to upload the artifacts to (without the name of the artifact).
An example configuration can look like
[source]
----
target: 'http://artifacts.company.com:8081/artifactory/example-repo-local/{{projectName}}/{{projectVersion}}'
----
And will result in a final deployment like
`pass:[http://artifacts.company.com:8081/artifactory/example-repo-local/app/1.0.0/app-1.0.0.zip]`.
== Username
The configured username needs to be authenticated against the Artifactory instance.
You can have the username set in the configuration as shown above or you can have it read from an environment variable.
The configured name of the Artifactory instance will be used to build the environment variable name.
This means that the name per configured instance needs to be unique.
The name of the environment variable will be `JRELEASER_ARTIFACTORY_NAME_USERNAME`. If your instance is named `production`,
you can store the username in the environment variable `JRELEASER_ARTIFACTORY_PRODUCTION_USERNAME`. The name will be
transformed to uppercase.
If a configured username is found in the configuration file, then the environment variable is not used at all.
== Password
The password will be stored in a environment variable. The configured name of the Artifactory instance will
be used. This means that the name per configured instance needs to be unique.
The name of the environment variable will be `JRELEASER_ARTIFACTORY_NAME_PASSWORD`. If your instance is named `production`,
you need to store the secret in the environment variable `JRELEASER_ARTIFACTORY_PRODUCTION_PASSWORD`. The name will be
transformed to uppercase.
== Token
The token will be stored in a environment variable. The configured name of the Artifactory instance will
be used. This means that the name per configured instance needs to be unique.
The name of the environment variable will be `JRELEASER_ARTIFACTORY_NAME_TOKEN`. If your instance is named `production`,
you need to store the secret in the environment variable `JRELEASER_ARTIFACTORY_PRODUCTION_TOKEN`. The name will be
transformed to uppercase.

View File

@@ -0,0 +1,83 @@
= Upload
Artifacts and files may be uploaded to configured servers.
include::partial$legend.adoc[]
[tabs]
====
YAML::
+
[source,yaml]
[subs="+macros"]
----
# icon:dot-circle[]
upload:
# Enable or disable all configured uploaders.
# Defaults to `true`.
# icon:dot-circle[]
enabled: true
----
TOML::
+
[source,toml]
[subs="+macros"]
----
# icon:dot-circle[]
[upload]
# Enable or disable all configured uploaders.
# Defaults to `true`.
# icon:dot-circle[]
enable = true
----
JSON::
+
[source,json]
[subs="+macros"]
----
{
// icon:dot-circle[]
"upload": {
// Enable or disable all configured uploaders.
// Defaults to `true`.
// icon:dot-circle[]
"enabled": true
}
}
----
Maven::
+
[source,xml]
[subs="+macros,verbatim"]
----
<jreleaser>
<!--
icon:dot-circle[]
-->
<upload>
<!--
Enable or disable all configured uploaders.
Defaults to `true`.
icon:dot-circle[]
-->
<enabled>true</enabled>
</upload>
</jreleaser>
----
Gradle::
+
[source,groovy]
[subs="+macros"]
----
jreleaser {
// icon;dot-circle[]
upload {
// Enable or disable all configured uploaders.
// Defaults to `true`.
// icon:dot-circle[]
enabled = true
}
}
----
====

View File

@@ -82,6 +82,7 @@ Calculating checksums
[checksum] target/distributions/app/app-1.0.0.zip
Signing files
Signing is not enabled. Skipping
Uploading is not enabled. Skipping.
Releasing to https://github.com/duke/app
- Uploading app-1.0.0.zip
- Uploading checksums.txt

View File

@@ -70,6 +70,7 @@ $ jreleaser full-release
[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

View File

@@ -153,6 +153,7 @@ $ gradle jreleaseFullRelease
[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

View File

@@ -230,6 +230,7 @@ $ mvn jreleaser:full-release
[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

View File

@@ -89,33 +89,21 @@ Lists all configured JDKS.
Downloads, verifies, and unpacks JDKs.
*jdkName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jdk.name
Required:: false
Description:: The name of the JDK to be downloaded.
Available parameters:
---
* jdkName +
The name of the JDK to be downloaded. +
Type: String +
User property: `jdk.name`
*outputDirectory*
[horizontal]
Type:: String
Default value:: ${project.build.directory}/jdks
Property:: jdks.output.directory
Required:: false
Description:: Directory where JDKs should be unpacked.
* outputDirectory (Default: ${project.build.directory}/jdks) +
Type: File +
User property: `jdks.output.directory`
---
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jdks.setup.skip
Required:: false
Description:: Skips execution of this MOJO.
* skip +
Skip execution. +
Type: boolean +
User property: `jdks.setup.skip`
== Examples

View File

@@ -273,6 +273,59 @@ Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.
=== jreleaser-upload
Uploads all files.
*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.
---
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.uploader.type
Required:: false
Description:: The type of the uploader to use.
---
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.uploader.name
Required:: false
Description:: The name of the uploader to use.
---
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
---
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.
=== jreleaser-release
Create or update a release.

View File

@@ -17,6 +17,7 @@ Commands:
changelog Calculate the changelog.
checksum Calculate checksums.
sign Sign release artifacts.
upload Uploads all artifacts.
release Create or update a release..
prepare Prepare all distributions.
package Package all distributions.
@@ -282,6 +283,67 @@ found at the current directory.
If `--basedir` is undefined then the command assumes it's the same directory that contains the resolved config file.
=== upload
[source,bash]
----
Usage: jreleaser upload [-dhiqVwy] [-b=<basedir>] [-c=<configFile>]
[-un=<uploaderName>] [-ut=<uploaderType>]
Uploads all 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.
-un, --uploader-name=<uploaderName>
The name of the uploader.
-ut, --uploader-type=<uploaderType>
The type of the uploader.
-V, --version Print version information and exit.
-w, --warn Set log level to warn.
-y, --dryrun Skip 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 `--uploader-type` must match the type of a configured xref:configuration:upload/index.adoc[uploader].
The value of `--uploader-name` must match any of the available xref:configuration:upload/index.adoc[uploaders].
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.
You may invoke this command in the following ways:
Upload all artifacts:
[source,bash]
----
$ jreleaser upload
----
Upload all artifacts to all configured Artifactory uploaders:
[source,bash]
----
$ jreleaser upload --uploader-type artifactory
----
Upload all artifacts with all uploaders with matching name:
[source,bash]
----
$ jreleaser upload --uploader-name mine
----
Upload all artifacts to a matching Artifactory uploader:
[source,bash]
----
$ jreleaser upload --uploader-type artifactory --uploader-name mine
----
=== release
[source,bash]
@@ -302,6 +364,7 @@ Usage: jreleaser release [-dhiqVwy] [--auto-config] [--changelog-formatted]
Create or update a release..
--auto-config Model auto configuration..
-b, --basedir=<basedir> Base directory.
--branch=<branch> The release branch.
-c, --config-file=<configFile>
The config file
--changelog=<changelog>

View File

@@ -23,199 +23,335 @@ The following tasks are provided:
=== jreleaserConfig
Display current configuration.
[source]
----
Path
:jreleaserConfig
*full*
[horizontal]
Type:: Boolean
Default value:: false
Option:: full
Required:: false
Description:: Displays full configuration.
Type
JReleaserConfigTask (org.jreleaser.gradle.plugin.tasks.JReleaserConfigTask)
*assembly*
[horizontal]
Type:: Boolean
Default value:: false
Option:: assembly
Required:: false
Description:: Displays assembly configuration.
Options
--assembly Display assembly configuration (OPTIONAL).
--full Display full configuration (OPTIONAL).
Description
Outputs current JReleaser configuration
Group
JReleaser
----
=== jreleaserTemplate
Generate a tool/announcer template.
[source]
----
Path
:jreleaserTemplate
*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Option:: announcer-name
Required:: false
Description:: The name of the announcer to be used.
---
Type
JReleaserTemplateTask (org.jreleaser.gradle.plugin.tasks.JReleaserTemplateTask)
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Option:: distribution-name
Required:: true
Description:: The name of the distribution.
Options
--announcer-name The name of the announcer (OPTIONAL).
---
--distribution-name The name of the distribution (OPTIONAL).
*distributionType*
[horizontal]
Type:: Distribution.DistributionType
Default value:: JAVA_BINARY
Option:: distribution-type
Required:: false
Description:: The name of the distribution.
--distribution-type The type of the distribution (OPTIONAL).
Available values are:
JAVA_BINARY
JLINK
NATIVE_IMAGE
SINGLE_JAR
---
--overwrite Overwrite existing files (OPTIONAL).
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Option:: tool-name
Required:: true
Description:: The name of the tool.
--snapshot Use snapshot template (OPTIONAL).
---
--tool-name The name of the tool (OPTIONAL).
*overwrite*
[horizontal]
Type:: boolean
Default value:: false
Option:: overwrite
Required:: false
Description:: Overwrites existing template files.
Description
Generates templates for a specific tool/announcer
---
*snapshot*
[horizontal]
Type:: boolean
Default value:: false
Option:: snapshot
Required:: false
Description:: Lookup snapshot specific template files.
Group
JReleaser
----
=== jreleaserAssemble
Assembles distributions
[source]
----
Path
:jreleaserAssemble
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Option:: distribution-name
Required:: true
Description:: The name of the distribution.
Type
JReleaserAssembleTask (org.jreleaser.gradle.plugin.tasks.JReleaserAssembleTask)
*assemblerName*
[horizontal]
Type:: String
Default value:: <none>
Option:: assembler-name
Required:: true
Description:: The name of the assembler.
Options
--assembler-name The name of the assembler (OPTIONAL).
--distribution-name The name of the distribution (OPTIONAL).
Description
Assemble all distributions
Group
JReleaser
----
=== jreleaserChangelog
Calculate the changelog.
[source]
----
Path
:jreleaserChangelog
Type
JReleaserChangelogTask (org.jreleaser.gradle.plugin.tasks.JReleaserChangelogTask)
Description
Calculate changelogs
Group
JReleaser
----
=== jreleaserChecksum
Calculate checksums.
[source]
----
Path
:jreleaserChecksum
Type
JReleaserChecksumTask (org.jreleaser.gradle.plugin.tasks.JReleaserChecksumTask)
Description
Calculate checksums
Group
JReleaser
----
=== jreleaserSign
Sign release artifacts.
[source]
----
Path
:jreleaserSign
Type
JReleaserSignTask (org.jreleaser.gradle.plugin.tasks.JReleaserSignTask)
Description
Signs a release
Group
JReleaser
----
=== jreleaserUpload
[source]
----
Path
:jreleaserUpload
Type
JReleaserUploadTask (org.jreleaser.gradle.plugin.tasks.JReleaserUploadTask)
Options
--uploader-name The name of the uploader (OPTIONAL).
--uploader-type The type of the uploader (OPTIONAL).
Description
Uploads all artifacts
Group
JReleaser
----
=== jreleaserRelease
Create or update a release
[source]
----
Path
:jreleaserUpload
Type
JReleaserUploadTask (org.jreleaser.gradle.plugin.tasks.JReleaserUploadTask)
Options
--uploader-name The name of the uploader (OPTIONAL).
--uploader-type The type of the uploader (OPTIONAL).
Description
Uploads all artifacts
Group
JReleaser
----
=== jreleaserPrepare
Prepare all distributions.
[source]
----
Path
:jreleaserPrepare
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Option:: distribution-name
Required:: false
Description:: The name of the distribution to be prepared.
Type
JReleaserPrepareTask (org.jreleaser.gradle.plugin.tasks.JReleaserPrepareTask)
---
Options
--distribution-name The name of the distribution (OPTIONAL).
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Option:: tool-name
Required:: false
Description:: The name of the tool for preparing distributions.
--tool-name The name of the tool (OPTIONAL).
Description
Prepares all distributions
Group
JReleaser
----
=== jreleaserPackage
Package all distributions.
[source]
----
Path
:jreleaserPackage
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Option:: distribution-name
Required:: false
Description:: The name of the distribution to be packaged.
Type
JReleaserPackageTask (org.jreleaser.gradle.plugin.tasks.JReleaserPackageTask)
---
Options
--distribution-name The name of the distribution (OPTIONAL).
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Option:: tool-name
Required:: false
Description:: The name of the tool for packaging distributions.
--tool-name The name of the tool (OPTIONAL).
Description
Packages all distributions
Group
JReleaser
----
=== jreleaserPublish
Publish all distributions.
[source]
----
Path
:jreleaserPublish
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Option:: distribution-name
Required:: false
Description:: The name of the distribution to be published.
Type
JReleaserPublishTask (org.jreleaser.gradle.plugin.tasks.JReleaserPublishTask)
---
Options
--distribution-name The name of the distribution (OPTIONAL).
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Option:: tool-name
Required:: false
Description:: The name of the tool for publishing distributions.
--tool-name The name of the tool (OPTIONAL).
Description
Publishes all distributions
Group
JReleaser
----
=== jreleaserAnnounce
Announce a release.
[source]
----
Path
:jreleaserAnnounce
*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Option:: announcer-name
Required:: false
Description:: The name of the announcer to be used.
Type
JReleaserAnnounceTask (org.jreleaser.gradle.plugin.tasks.JReleaserAnnounceTask)
Options
--announcer-name The name of the announcer (OPTIONAL).
Description
Announces a release
Group
JReleaser
----
=== jreleaserFullRelease
Perform a full release.
[source]
----
Path
:jreleaserFullRelease
Type
JReleaserFullReleaseTask (org.jreleaser.gradle.plugin.tasks.JReleaserFullReleaseTask)
Description
Invokes JReleaser on all distributions
Group
JReleaser
----
=== jreleaserAutoConfigRelease
[source]
----
Path
:jreleaserAutoConfigRelease
Type
JReleaseAutoConfigReleaseTask (org.jreleaser.gradle.plugin.tasks.JReleaseAutoConfigReleaseTask)
Options
--armored Generate ascii armored signatures (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.
--file Input file(s) to be uploaded (OPTIONAL).
--milestone-name The milestone name (OPTIONAL).
--overwrite Overwrite an existing release (OPTIONAL).
--prerelease If the release is a prerelease (OPTIONAL).
--project-name The project name (OPTIONAL).
--project-version The project version (OPTIONAL).
--release-name The release name (OPTIONAL).
--signing Sign files (OPTIONAL).
--skip-tag Skip tagging the release (OPTIONAL).
--tag-name The release tga (OPTIONAL).
--update Update an existing release (OPTIONAL).
--username Git username (OPTIONAL).
Description
Creates or updates a release with auto-config enabled
Group
JReleaser
----

View File

@@ -30,359 +30,415 @@ The following MOJOs are provided:
Display current configuration.
*full*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.config.full
Required:: false
Description:: Displays full configuration.
Available parameters:
*assembly*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.config.assembly
Required:: false
Description:: Displays assembly configuration.
* assembly +
Display assembly configuration. +
Type: boolean +
User property: `jreleaser.config.assembly`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.config.skip
Required:: false
Description:: Skips execution of this MOJO.
* full +
Display full configuration. +
Type: boolean +
User property: `jreleaser.config.full`
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.config.skip`
=== jreleaser:template
Generate a tool/announcer template.
*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.announcer.name
Required:: false
Description:: The name of the announcer to be used.
Available parameters:
---
* announcerName +
The name of the announcer +
Type: String +
User property: `jreleaser.announcer.name`
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.template.distribution.name
Required:: true
Description:: The name of the distribution.
* distributionName +
The name of the distribution +
Type: String +
User property: `jreleaser.template.distribution.name`
---
* distributionType (Default: JAVA_BINARY) +
The type of the distribution +
Type: Distributio.DistributionType +
User property: `jreleaser.template.distribution.type`
*distributionType*
[horizontal]
Type:: Distribution.DistributionType
Default value:: JAVA_BINARY
Property:: jreleaser.template.distribution.type
Required:: false
Description:: The name of the distribution.
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
---
* overwrite +
Overwrite existing files. +
Type: boolean +
User property: `jreleaser.template.overwrite`
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.template.tool.name
Required:: true
Description:: The name of the tool.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.template.skip`
---
* snapshot +
Use snapshot templates. +
Type: boolean +
User property: `jreleaser.template.snapshot`
*overwrite*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.overwrite
Required:: false
Description:: Overwrites existing template files.
* toolName +
The name of the tool. +
Type: String +
User property: `jreleaser.template.tool.name`
---
*snapshot*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.snapshot
Required:: false
Description:: Lookup snapshot specific template files.
---
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.template.skip
Required:: false
Description:: Skips execution of this MOJO.
=== jreleaser:assemble
Assemble distributions.
Assemble all distributions.
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: true
Description:: The name of the distribution.
Available parameters:
---
* assemblerName +
The name of the assembler. +
Type: String +
User property: `jreleaser.assembler.name`
*assemblerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.assembler.name
Required:: true
Description:: The name of the assembler.
* distributionName +
The name of the distribution. +
Type: String +
User property: `jreleaser.distribution.name`
---
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.assemble.skip
Required:: false
Description:: Skips execution of this MOJO.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.assemble.skip`
=== jreleaser:changelog
Calculate the changelog.
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.changelog.skip
Required:: false
Description:: Skips execution of this MOJO.
Available parameters:
=== jreleaser:checksum
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
Calculate checksums.
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.checksum.skip
Required:: false
Description:: Skips execution of this MOJO.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.changelog.skip`
=== jreleaser:sign
Sign release artifacts.
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.sign.skip
Required:: false
Description:: Skips execution of this MOJO.
Available parameters:
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.sign.skip`
=== jreleaser:upload
Uploads all artifacts.
Available parameters:
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.upload.skip`
* uploaderName +
The name of the uploader. +
Type: String +
User property: `jreleaser.uploader.name`
* uploaderType +
The type of the uploader. +
Type: String +
User property: `jreleaser.uploader.type`
=== jreleaser:release
Create or update a release.
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
Available parameters:
---
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.release.skip
Required:: false
Description:: Skips execution of this MOJO.
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.release.skip`
=== jreleaser:prepare
Prepare all distributions.
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be prepared.
Available parameters:
---
* distributionName +
The name of the distribution. +
Type: String +
User property: `jreleaser.distribution.name`
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for preparing distributions.
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
---
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.prepare.skip
Required:: false
Description:: Skips execution of this MOJO.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.prepare.skip`
* toolName +
The name of the tool. +
Type: String +
User property: `jreleaser.tool.name`
=== jreleaser:package
Package all distributions.
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be packaged.
Available parameters:
---
* distributionName +
The name of the distribution. +
Type: String +
User property: `jreleaser.distribution.name`
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for packaging distributions.
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
---
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.package.skip`
---
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.package.skip
Required:: false
Description:: Skips execution of this MOJO.
* toolName +
The name of the tool. +
Type: String +
User property: `jreleaser.tool.name`
=== jreleaser:publish
Publish all distributions.
*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be published.
Available parameters:
---
* distributionName +
The name of the distribution. +
Type: String +
User property: `jreleaser.distribution.name`
*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for publishing distributions.
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
---
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.publish.skip`
---
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.publish.skip
Required:: false
Description:: Skips execution of this MOJO.
* toolName +
The name of the tool. +
Type: String +
User property: `jreleaser.tool.name`
=== jreleaser:announce
Announce a release.
*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.announcer.name
Required:: false
Description:: The name of the announcer to be used.
Available parameters:
---
* announcerName +
The name of the distribution. +
Type: String +
User property: `jreleaser.announcer.name`
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
---
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.announce.skip
Required:: false
Description:: Skips execution of this MOJO.
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.announce.skip`
=== jreleaser:full-release
Perform a full release.
*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.
Available parameters:
---
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.full.release.skip
Required:: false
Description:: Skips execution of this MOJO.
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
* skip +
Skip execution. +
Type: boolean +
User property: `jreleaser.full.release.skip`
=== jreleaser:auto-config-release
Create or update a release with auto-config enabled.
Available parameters:
* armored +
Generate ascii armored signatures. +
Type: boolean +
User property: `jreleaser.armored`
* branch +
The release branch. +
Type: String +
User property: `jreleaser.release.branch`
* changelog +
Path to changelog file. +
Type: String +
User property: `jreleaser.changelog`
* changelogFormatted +
Format generated changelog. +
Type: boolean +
User property: `jreleaser.changelog.formatted`
* commitAuthorEmail +
Commit author e-mail. +
Type: String +
User property: `jreleaser.commit.author.email`
* commitAuthorName +
Commit author name. +
Type: String +
User property: `jreleaser.commit.author.name`
* draft +
If the release is a draft. +
Type: boolean +
User property: `jreleaser.draft`
* dryrun +
Skips remote operations. +
Type: boolean +
User property: `jreleaser.dryrun`
* files +
Input file(s) to be uploaded. +
Type: String[] +
User property: `jreleaser.files`
* milestoneName +
The milestone name. +
Type: String +
User property: `jreleaser.milestone.name`
* outputDirectory (Default: ${project.build.directory}/jreleaser) +
Type: File +
User property: `jreleaser.output.directory`
* overwrite +
Overwrite an existing release. +
Type: boolean +
User property: `jreleaser.overwrite`
* prerelease +
If the release is a prerelease. +
Type: boolean +
User property: `jreleaser.prerelease`
* projectName (Default: ${project.artifactId}) +
The project name. +
Type: String +
User property: `jreleaser.project.name`
* projectVersion (Default: ${project.version}) +
The project version. +
Type: String +
User property: `jreleaser.project.version`
* releaseName +
The release name. +
Type: String +
User property: `jreleaser.release.name`
* signing +
Sign files. +
Type: boolean +
User property: `jreleaser.signing`
* skipTag +
Skip tagging the release. +
Type: boolean +
User property: `jreleaser.skip.tag`
* tagName +
The release tag. +
Type: boolean +
User property: `jreleaser.tag.name`
* update +
Update an existing release. +
Type: boolean +
User property: `jreleaser.update`
* username +
Git username. +
Type: String +
User property: `jreleaser.username`