# @terrestris/maven-semantic-release

> a very simple maven plugin for semantic release

Latest version **3.1.0** (published 2024-09-27) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @terrestris/maven-semantic-release
pnpm add @terrestris/maven-semantic-release
yarn add @terrestris/maven-semantic-release
bun add @terrestris/maven-semantic-release
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.1.0 |
| Published | 2024-09-27 |
| First published | 2022-12-21 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 25.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | terrestris GmbH & Co. KG |
| Maintainers | jansule, annarieger, terrestris-info, marcjansen, kaivolland, dnlkoch, ahennr, buehner, hwbllmnn, lukaslohoff, mholthausen, sgoetsch, jorzekowsky, simonseyock, hblitza, jweskamm, unraveler |

## Links

- npm: https://www.npmjs.com/package/@terrestris/maven-semantic-release
- Repository: https://github.com/terrestris/maven-semantic-release
- Homepage: https://github.com/terrestris/maven-semantic-release#readme
- Issues: https://github.com/terrestris/maven-semantic-release/issues
- npm.io page: https://npm.io/package/@terrestris/maven-semantic-release

## Dependencies (4)

- [glob](https://npm.io/package/glob.md) ^9.2.1
- [execa](https://npm.io/package/execa.md) ^5.1.1
- [@semantic-release/git](https://npm.io/package/@semantic-release/git.md) ^10.0.1
- [@semantic-release/error](https://npm.io/package/@semantic-release/error.md) ^3.0.0

## Recent versions

- 3.1.0 (latest) — 2024-09-27
- 3.0.1 — 2024-02-22
- 3.0.0 — 2024-01-17
- 2.3.0 — 2023-09-06
- 2.2.0 — 2023-08-17
- 2.1.3 — 2023-01-20
- 2.1.2 — 2023-01-20
- 2.1.1 — 2023-01-18
- 2.1.0 — 2023-01-17
- 2.0.1 — 2023-01-16
- 2.0.0 — 2023-01-16
- 1.0.1 — 2022-12-21
- 1.0.0 — 2022-12-21

## README

# 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

<!-- AUTO_GENERATED_OPTIONS -->
## Typedefs

<dl>
<dt><a href="#MavenTarget">MavenTarget</a> : <code>&#x27;deploy&#x27;</code> | <code>&#x27;package jib:build&#x27;</code> | <code>&#x27;deploy jib:build&#x27;</code></dt>
<dd></dd>
<dt><a href="#PluginConfig">PluginConfig</a> : <code>Object</code></dt>
<dd></dd>
</dl>

<a name="MavenTarget"></a>

## MavenTarget : <code>&#x27;deploy&#x27;</code> \| <code>&#x27;package jib:build&#x27;</code> \| <code>&#x27;deploy jib:build&#x27;</code>
**Kind**: global typedef  
<a name="PluginConfig"></a>

## PluginConfig : <code>Object</code>
**Kind**: global typedef  
**Properties**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| [settingsPath] | <code>string</code> |  | Path to a maven settings file. |
| processAllModules | <code>boolean</code> | <code>false</code> | This sets the `processAllModules` option for the `versions:set` target. It is useful for multimodule projects. |
| mavenTarget | [<code>MavenTarget</code>](#MavenTarget) | <code>&#x27;deploy&#x27;</code> | This determines which mvn targets are used to publish. |
| clean | <code>boolean</code> | <code>true</code> | Whether the `clean` target will be applied before publishing. |
| updateSnapshotVersion | <code>boolean</code> | <code>false</code> | Whether a new snapshot version should be set after releasing. |
| snapshotCommitMessage | <code>string</code> | <code>&quot;&#x27;chore:&quot;</code> | setting next snapshot version [skip ci]' The commit message used if a new snapshot version should be created. |
| debug | <code>boolean</code> | <code>false</code> | Sets the `-X` option for all maven calls. |
| mvnw | <code>boolean</code> | <code>false</code> | Use the mvnw script instead of mvn |
<!-- AUTO_GENERATED_OPTIONS -->

---
_Source: https://npm.io/package/@terrestris/maven-semantic-release · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
