Auto-generate HTML changelog for your git-backed project/product

Every project or product manager knows how providing a completely exhaustive CHANGELOG can be difficult when comes the release time.

Good project management tools help on that and even better: a good management style and method will help you track down every single code change and its goal.

If you are using Maven in your build, packaging process and if your team’s code is backed on a SCM (GIT, SVN…) you can leverage few Maven plugins to auto-generate your changelog based on the commit

Here is an example for Maven Git Log Plugin

In your pom.xml <plugins> section

<!-- build changelog from git -->
<plugin>
<groupId>com.github.danielflower.mavenplugins</groupId>
<artifactId>gitlog-maven-plugin</artifactId>
<version>1.13.2</version>
<configuration>
<reportTitle>AfriVox Builder Changelog from Maven Git Log Plugin</reportTitle>
<verbose>false</verbose>
<outputDirectory>target</outputDirectory>
<dateFormat>yyyy-MM-dd HH:mm:ss Z</dateFormat>
<generatePlainTextChangeLog>true</generatePlainTextChangeLog>
<plainTextChangeLogFilename>changelog-${project.version}.txt</plainTextChangeLogFilename>
<simpleHTMLChangeLogFilename>changelog-${project.version}.html</simpleHTMLChangeLogFilename>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

This generate changelog in the target directory in 2 formats HTML and TXT

If you also use like me a maven assembly configuration to package your product (binaries, documentation pdf/word…, license file, installation guide, shell scripts, pictures…) in a zip or tar.gz archive, you can include this in your bin.zip (assembly config)

<fileSet>
<directory>target</directory>
<includes>
<include>*changelog*.html</include>
</includes>
<outputDirectory>/</outputDirectory>
</fileSet>

You can read more about the plugin here

http://danielflower.github.io/maven-gitlog-plugin/

If you are a project manager and you are not using any plugin but have your own way to track the changelogs: please share🙂

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s