maven-auto-changelog

Maven changelog generator

License

License

Categories

Categories

Maven Build Tools Auto Application Layer Libs Code Generators
GroupId

GroupId

cz.encircled
ArtifactId

ArtifactId

maven-auto-changelog
Last Version

Last Version

0.3.23
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

maven-auto-changelog
Maven changelog generator
Project URL

Project URL

https://github.com/encircled/MavenAutoChangelog
Source Code Management

Source Code Management

https://github.com/encircled/MavenAutoChangelog.git

Download maven-auto-changelog

How to add to project

<plugin>
    <groupId>cz.encircled</groupId>
    <artifactId>maven-auto-changelog</artifactId>
    <version>0.3.23</version>
</plugin>

Dependencies

compile (2)

Group / Artifact Type Version
org.apache.commons : commons-lang3 jar 3.7
org.apache.maven : maven-plugin-api jar 3.0

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.4

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Build Status codecov

Changelog auto generator - maven plugin

MavenAutoChangelog is a simple maven plugin which generates changelog entries from git commit messages.

It can be configured to add only such messages which meet some format;

Running

Maven goal generate-changelog.

Configuration

Maven plugin properties:

  • pathToChangelog - Path to changelog file. Default is CHANGELOG.md
  • lastTag - Predefined git tag which is used for comparing. Alternatively, lastTagPattern may be used to parse latest tag dynamically
  • lastTagPattern - Regexp pattern which is used to match line with latest release version (tag). Alternatively, lastTag may be used if tag is predefined
  • lastTagFormat - Defines format (for java String.format(lastTagFormat, lastTagPattern)) which is used to customize git tag if differs from lastTagPattern
  • applicableCommitPattern - Regexp pattern which is used to filter unwanted commits, i.e. only commits which match this regexp will be included into changelog
  • commitFormat - Additional java String.format(commitMessage, commitFormat) which can be used to customize changelog entry. Default is %s
  • unreleasedRowPattern - Regexp pattern which should be used to match line with 'Unreleased' token
  • mergeRequestReplacePattern - Regex pattern which is used to add merge request numbers to the messages. It must match the group which will be referenced in mergeRequestReplacement. For example (]) to add merge requests before first ] like [ABC-123] Text ==> [ABC-123 321!] Text.
  • mergeRequestReplacement - Replacement string which will be used with mergeRequestReplacePattern. Must contain token MR#, which will be replaced by merge request number. Default is " MR#$1"
  • incrementVersionAfterRun - If true, add line with auto-incremented version after changelog generation

Sample

For example you have a CHANGELOG.md looking like

[Unreleased]

[1.02] - 2017.01.02
- (FIX 20!) Critical bug fix
- (FEATURE 18!) Some cool feature
[1.01] - 2017.01.01
- (FEATURE 16!) Some cool feature

Your configuration may look like:

  • unreleasedRowPattern - .*[Unreleased]
  • lastTagPattern - .*[\d.] - .*
  • applicableCommitPattern - \(.*).*
  • commitFormat - - %s
  • mergeRequestReplacePattern - (\\))

Versions

Version
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.5
0.3.4
0.3.3