/bpm-crafters-maven-parent

Maven parent for bpm-crafters projects.

Apache License 2.0Apache-2.0

BPM-Crafters Maven Parent

A common Maven parent POM for BPM Crafters projects.

stable Development branches Maven Central

About

Maven poms are quite bloated, Most of the settings (how to compile, how to deploy) are repeated over and over. This maven-parent aims to reduce the xml in your pom.xml to the things you really want to express in your library or application project.

By nature of this module, it is a highly opinionated approach. It might fit your needs, but it is explicitly designed to support open source library projects we are currently building and maintaining under bpm-crafters organization.

Versioning

Since this parent countless versions of other libs and plugins, it cannot have any meaningful version itself.

The semantic versioning conventions is YEAR.MONTH.COUNT, so the first build in September would be version=2024.1.0 ... and counting.

How to use?

This is a maven parent. So just include it on the top of your root pom.xml:

 <parent>
  <groupId>dev.bpm-crafters.maven.parent</groupId>
  <artifactId>maven-parent</artifactId>
  <version>LATEST_VERSION</version>
  <relativePath/>
</parent>

Carefully analyse your pom (and the effective pom) and remove duplications, unintended overwrites and possible conflicts ... and you are done.

Features

Kotlin only compilation

Following the x-compile guide for maven/kotlin the correct kotlin and java compilers are included.

Versions

  • kotlin: 1.9.22 - used in kotlin compiler und kotlin libs.

Release

  1. close milestone in GitHub - this will create a GitHub release draft
  2. on local console: mvn gitflow:release-start - wait for action
  3. on local console: mvn gitflow:release-finish - wait for action - sonatype pipeline will run
  4. publish release in GitHub (open draft and publish it)