Generic
Use this releaser if no specific releaser is available.
Refer to Changelog for full options on changelog customizations.
The generic releaser does not support all features.
|
The following features are not available when the generic Git releaser is configured:
-
packaging tools: AppImage, Asdf, Flatpak, Homebrew, Chocolatey, JBang, Scoop, Snap, Spec.
-
announcers: Sdkman.
-
auto-config is not supported.
Only the release tag will be created. If you’d like to upload artifacts to a particular destination then configure an uploader.
Configuration
Legend:
-
required
-
optional
-
may use environment variable
-
accepts Name Templates
#
release:
# Repo in which the release will be created.
#
generic:
# Disables or enables publication to Generic.
# defaults to `true`.
#
enabled: true
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout: 60
# The user or organization that owns the repository.
#
owner: duke
# The name of the repository.
# If unspecified, will use `#{project.name}`.
#
name: app
# The Generic host url.
#
host: https://my.githost.com
# Username used for authoring commits. Must have write access to the repository.
# Defaults to the repository's owner.
#
username: duke
# Password or OAuth token with write access to the repository.
#
token: __DO_NOT_SET_HERE__
# The tag associated with the release.
# If left unspecified, will use `v{{projectVersion}}`.
#
tagName: v1.0.0
# The tag to compare against the release tag. Is used to fetch all commits between those tags.
# If left unspecified, will use the previous logical tag of `tagName`.
#
previousTagName: v0.9.0
# The name of the release.
# If left unspecified, will use `Release {{tagName}}`.
#
releaseName: Release v1.0.0
# Drops and creates an existing release with matching tag.
# Defaults to `false`.
#
overwrite: true
# Skips creating a tag.
# Useful when the tag was created externally.
# Defaults to `false`.
#
skipTag: false
# Skips creating a release.
# Useful when release assets will be handled with an uploader.
# Defaults to `false`.
#
skipRelease: false
# Signs commits with the configured credentials.
# The Signing section must be configured as well.
# Defaults to `false`.
#
sign: false
# The target branch to pull from.
# Defaults to the branch pointed by HEAD.
#
branch: main
# The target branch to push to.
# Defaults to the branch pointed by `#{branch}`.
#
branchPush: '{{projectName}}-{{tagName}}'
# Git author used to commit to the repository.
#
commitAuthor:
# Name used when authoring commits.
# Defaults to `jreleaserbot`.
#
name: jreleaserbot
# E-mail used when authoring commits.
# Defaults to `jreleaser@kordamp.org`.
#
email: jreleaser@kordamp.org
# Repo in which the release will be created.
#
[release.generic]
# Disables or enables publication to Generic.
# defaults to `true`.
#
enabled = true
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout = 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout = 60
# The user or organization that owns the repository.
#
owner = "duke"
# The name of the repository.
# If unspecified, will use `#{project.name}`.
#
name = "app"
# The Generic host url.
#
host = "https://my.githost.com"
# Username used for authoring commits. Must have write access to the repository.
# Defaults to the repository's owner.
#
username = "duke"
# Password or OAuth token with write access to the repository.
#
token = "__DO_NOT_SET_HERE__"
# The tag associated with the release.
# If left unspecified, will use `v{{projectVersion}}`.
#
tagName = "v1.0.0"
# The tag to compare against the release tag. Is used to fetch all commits between those tags.
# If left unspecified, will use the previous logical tag of `tagName`.
#
previousTagName = "v0.9.0"
# The name of the release.
# If left unspecified, will use `Release {{tagName}}`.
#
releaseName = "Release v1.0.0"
# Drops and creates an existing release with matching tag.
# Defaults to `false`.
#
overwrite = true
# Skips creating a tag.
# Useful when the tag was created externally.
# Defaults to `false`.
#
skipTag = false
# Skips creating a release.
# Useful when release assets will be handled with an uploader.
# Defaults to `false`.
#
skipRelease = false
# Signs commits with the configured credentials.
# The Signing section must be configured as well.
# Defaults to `false`.
#
sign = false
# The target branch to pull from.
# Defaults to the branch pointed by HEAD.
#
branch = "main"
# The target branch to push to.
# Defaults to the branch pointed by `#{branch}`.
#
branchPush = "{{projectName}}-{{tagName}}"
# Git author used to commit to the repository.
# Name used when authoring commits.
# Defaults to `jreleaserbot`.
#
commitAuthor.name = "jreleaserbot"
# E-mail used when authoring commits.
# Defaults to `jreleaser@kordamp.org`.
#
commitAuthor.email = "jreleaser@kordamp.org"
{
//
"release": {
// Repo in which the release will be created.
//
"generic": {
// Disables or enables publication to Generic.
// defaults to `true`.
//
"enabled": true,
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
//
"readTimeout": 60,
// The user or organization that owns the repository.
//
"owner": "duke",
// The name of the repository.
// If unspecified, will use `#{project.name}`.
//
"name": "app",
// The Generic host url.
//
"host": "https://my.githost.com",
// Username used for authoring commits. Must have write access to the repository.
// Defaults to the repository's owner.
//
"username": "duke",
// Password or OAuth token with write access to the repository.
//
"token": "__DO_NOT_SET_HERE__",
// The tag associated with the release.
// If left unspecified, will use `v{{projectVersion}}`.
//
"tagName": "v1.0.0",
// The tag to compare against the release tag. Is used to fetch all commits between those tags.
// If left unspecified, will use the previous logical tag of `tagName`.
//
"previousTagName": "v0.9.0",
// The name of the release.
// If left unspecified, will use `Release {{tagName}}`.
//
"releaseName": "Release v1.0.0",
// Drops and creates an existing release with matching tag.
// Defaults to `false`.
//
"overwrite": true,
// Skips creating a tag.
// Useful when the tag was created externally.
// Defaults to `false`.
//
"skipTag": false,
// Skips creating a release.
// Useful when release assets will be handled with an uploader.
// Defaults to `false`.
//
"skipRelease": false,
// Signs commits with the configured credentials.
// The Signing section must be configured as well.
// Defaults to `false`.
//
"sign": false,
// The target branch to pull from.
// Defaults to the branch pointed by HEAD.
//
"branch": "main",
// The target branch to push to.
// Defaults to the branch pointed by `#{branch}`.
//
"branchPush": "{{projectName}}-{{tagName}}",
// Git author used to commit to the repository.
//
"commitAuthor": {
// Name used when authoring commits.
// Defaults to `jreleaserbot`.
//
"name": "jreleaserbot",
// E-mail used when authoring commits.
// Defaults to `jreleaser@kordamp.org`.
//
"email": "jreleaser@kordamp.org"
},
}
}
}
<jreleaser>
<!--
-->
<release>
<!--
Repo in which the release will be created.
-->
<generic>
<!--
Disables or enables publication to Generic.
defaults to `true`.
-->
<enabled>true</enabled>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
-->
<readTimeout>60</readTimeout>
<!--
The user or organization that owns the repository.
-->
<owner>duke</owner>
<!--
The name of the repository.
If unspecified, will use `#{project.name}`.
-->
<name>app</name>
<!--
The Generic host url.
-->
<host>https://my.githost.com</host>
<!--
Username used for authoring commits. Must have write access to the repository.
Defaults to the repository's owner.
-->
<username>duke</username>
<!--
Password or OAuth token with write access to the repository.
-->
<token>__DO_NOT_SET_HERE__</token>
<!--
The tag associated with the release.
If left unspecified, will use `v{{projectVersion}}`.
-->
<tagName>v1.0.0</tagName>
<!--
The tag to compare against the release tag. Is used to fetch all commits between those tags.
If left unspecified, will use the previous logical tag of `tagName`.
-->
<previousTagName>v0.9.0</previousTagName>
<!--
The name of the release.
If left unspecified, will use `Release {{tagName}}`.
-->
<releaseName>Release v1.0.0</releaseName>
<!--
Drops and creates an existing release with matching tag.
Defaults to `false`.
-->
<overwrite>true</overwrite>
<!--
Skips creating a tag.
Useful when the tag was created externally.
Defaults to `false`.
-->
<skipTag>false</skipTag>
<!--
Skips creating a release.
Useful when release assets will be handled with an uploader.
Defaults to `false`.
-->
<skipRelease>false</skipRelease>
<!--
Signs commits with the configured credentials.
The Signing section must be configured as well.
Defaults to `false`.
-->
<sign>false</sign>
<!--
The target branch to pull from.
Defaults to the branch pointed by HEAD.
-->
<branch>main</branch>
<!--
The target branch to push to.
Defaults to the branch pointed by `#{branch}`.
-->
<branchPush>{{projectName}}-{{tagName}}</branchPush>
<!--
Git author used to commit to the repository.
-->
<commitAuthor>
<!--
Name used when authoring commits.
Defaults to `jreleaserbot`.
-->
<name>jreleaserbot</name>
<!--
E-mail used when authoring commits.
Defaults to `jreleaser@kordamp.org`.
-->
<email>jreleaser@kordamp.org</email>
</commitAuthor>
</generic>
</release>
</jreleaser>
jreleaser {
//
release {
// Repo in which the release will be created.
//
generic {
// Disables or enables publication to Generic.
// defaults to `true`.
//
enabled = true
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
//
readTimeout = 60
// The user or organization that owns the repository.
//
repoOwner = 'duke'
// The name of the repository.
// If unspecified, will use `#{project.name}`.
//
name = 'app'
// The Generic host url.
//
host = 'https://my.githost.com'
// Username used for authoring commits. Must have write access to the repository.
// Defaults to the repository's owner.
//
username = 'duke'
// Password or OAuth token with write access to the repository.
//
token = '__DO_NOT_SET_HERE__'
// The tag associated with the release.
// If left unspecified, will use `v{{projectVersion}}`.
//
tagName = 'v1.0.0'
// The tag to compare against the release tag. Is used to fetch all commits between those tags.
// If left unspecified, will use the previous logical tag of `tagName`.
//
previousTagName = 'v0.9.0'
// The name of the release.
// If left unspecified, will use `Release {{tagName}}`.
//
releaseName = 'Release v1.0.0'
// Drops and creates an existing release with matching tag.
// Defaults to `false`.
//
overwrite = true
// Skips creating a tag.
// Useful when the tag was created externally.
// Defaults to `false`.
//
skipTag = false
// Skips creating a release.
// Useful when release assets will be handled with an uploader.
// Defaults to `false`.
//
skipRelease = false
// Signs commits with the configured credentials.
// The Signing section must be configured as well.
// Defaults to `false`.
//
sign = false
// The target branch to pull from.
// Defaults to the branch pointed by HEAD.
//
branch = 'main'
// The target branch to push to.
// Defaults to the branch pointed by `#{branch}`.
//
branchPush = '{{projectName}}-{{tagName}}'
// Git author used to commit to the repository.
//
commitAuthor {
// Name used when authoring commits.
// Defaults to `jreleaserbot`.
//
name = 'jreleaserbot'
// E-mail used when authoring commits.
// Defaults to `jreleaser@kordamp.org`.
//
email = 'jreleaser@kordamp.org'
}
}
}
}
Environment
When not explicitly set, the value of the following properties may be resolved from an environment variable or a system property as shown in the table. The system property takes precedence over the environment variable.
System Property | Environment Variable |
---|---|
username |
|
jreleaser.generic.username |
JRELEASER_GENERIC_USERNAME |
token |
|
jreleaser.generic.token |
JRELEASER_GENERIC_TOKEN |
tagName |
|
jreleaser.tag.name |
JRELEASER_TAG_NAME |
previousTagName |
|
jreleaser.previous.tag.name |
JRELEASER_PREVIOUS_TAG_NAME |
branch |
|
jreleaser.branch |
JRELEASER_BRANCH |
skipTag |
|
jreleaser.skip.tag |
JRELEASER_SKIP_TAG |