This is a simple plugin that allows users to increase versions in pom.xml
and publish via maven, either with the deploy
or the jib:build
target.
It has an option to increase the version after release to the next snapshot version
It only assures that the mvn
command exists.
Was inspired by https://github.com/conveyal/maven-semantic-release. It differs in some ways. It …
- … allows different maven targets.
- … has an option to allow multimodule projects
- … can increase a snapshot version after a successful release
- … has fewer checks to verify th integrity of the setup (does not check
pom.xml
)
npm i -D semantic-release @terrestris/maven-semantic-release
- Add
@terrestris/maven-semantic-release
as a plugin (https://semantic-release.gitbook.io/semantic-release/usage/plugins) - Configure
settingsPath
or ensure that a maven settings file exists at the expected location - Make sure that the
@semantic-release/git
plugin runs after this plugin and includes thepom.xml
if you want to use it.
- MavenTarget :
'deploy'
|'package jib:build'
|'deploy jib:build'
- PluginConfig :
Object
Kind: global typedef
Properties
Name | Type | Default | Description |
---|---|---|---|
[settingsPath] | string |
Path to a maven settings file. | |
processAllModules | boolean |
false |
This sets the processAllModules option for the versions:set target. It is useful for multimodule projects. |
mavenTarget | MavenTarget |
'deploy' |
This determines which mvn targets are used to publish. |
clean | boolean |
true |
Whether the clean target will be applied before publishing. |
updateSnapshotVersion | boolean |
false |
Whether a new snapshot version should be set after releasing. |
snapshotCommitMessage | string |
"'chore:" |
setting next snapshot version [skip ci]' The commit message used if a new snapshot version should be created. |
debug | boolean |
false |
Sets the -X option for all maven calls. |
mvnw | boolean |
false |
Use the mvnw script instead of mvn |