Thursday, 25 January 2024

Five Element Maven Version Numbering System (N5)

Five element unique

The Five Element Maven Version Numbering System (N5) addresses the problem of wack-a-mole Maven dependency management: through the combination of excessive modularisation, microservices fervour, XML Declarative Project Object Models and non-unique (SemVer) versioning enterprise Maven Java projects become unmanageable after about five years.

The solution is a sequential identifier which is unique across the space, and does not require xml parsing to modify.

My first three proposals represent blundering steps towards the N5 Maven Version numbering system.

N5 Unique Versioned Artifact Identifier (Maven version)

\dCode for project
\d\d\dCode for repository
\d+Major
\d+Minor
\d+Patch

The previous version, N6, included the Year between the Repository Code and the SemVer Major Version. This was considered too much.

2.130.2.0.6 works well with the Maven tooling and can be updated over the whole space using sed.

1 comment:

  1. One thig to be aware of with dependencies is that they must be trees, directed acyclic graphs if you will, this is they must not have circular dependency.

    ReplyDelete