/maven-semantic-release

Primary LanguageJavaScriptApache License 2.0Apache-2.0

maven-semantic-release

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)

Getting started

  • 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 the pom.xml if you want to use it.

Options

Typedefs

MavenTarget : 'deploy' | 'package jib:build' | 'deploy jib:build'
PluginConfig : Object

MavenTarget : 'deploy' | 'package jib:build' | 'deploy jib:build'

Kind: global typedef

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