A BOM is used as an include for dependencies, however it appears that the check for SNAPSHOT versions only occurs after this BOM has been included. If a BOM has no SNAPSHOT mentioned in it, it can be a SNAPSHOT version it self. The problem is that after the release, this SNAPSHOT of the bom is not released.
As you can see this version was released to maven central with a SNAPSHOT bom.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>net.openhft</groupId>
<artifactId>third-party-bom</artifactId>
<type>pom</type>
<version>3.5.0</version>
<scope>import</scope>
</dependency>
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-bom</artifactId>
<version>1.12.14-SNAPSHOT</version> <!-- latest release plugin allows this -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
http://search.maven.org/#artifactdetails%7Cnet.openhft%7Cchronicle-bytes%7C1.5.0%7Cbundle
Is there a plugin to ensure that the BOM is a release version?
While there have been bugs reported for SNAPSHOT dependencies in dependencyManagement this doesn't cover when the bom
imported is itself on a SNAPSHOT. Additionally, those bugs have been resolved years ago whereas this issue happens with the most current release.
EDIT: After updating the maven-release-plugin
to 2.5.3
I am still able to do a release:prepare
with a SNAPSHOT
version of our bom