Reference Application distro 2.6 released to maven?

@ssmusoke, this is a prevailing issue with the way we structured the builds, see Maintaining SNAPSHOT Maven dependencies and Ref App build fails because distro version 2.4-SNAPSHOT no longer present

Basically, you can’t release the referenceapplication module, because you need to release the referenceapplication distro first. You can’t release the distro, because it needs the referenceapplication module to be released. It applies to all modules, which import versions from the referenceapplication distro.

Let’s finally do something about it… In the past we considered 3 options:

  1. Do not remove SNAPSHOTs of referenceapplication distro. It cannot be done in nexus, which can only clean up the whole snapshots repo.

  2. Move versions out of the distro project to a separate pom project, which can be released before the distro is released. All modules included in the distro can depend on a released version of that pom project. The release process gets cumbersome as you need to decide up front on versions of modules to be included in the final distro release and set them in the pom project (even before releasing modules). Way to complex…

  3. Stop using the distro pom in modules and declare versions in modules explicitly. It’s more work to maintain versions in such a case, but it’s cleaner. We still want to build modules in our CI against the latest snapshots of dependent modules, but we can use a dedicated maven plugin for that.

Given 1st isn’t feasible and 2nd seems overly complex, we should go with 3rd.

I’ll work on fixing one of the refapp modules and come up with a separate profile for CI, which can be used in all other modules. Next we can apply changes to all modules and do the 2.5.1 release, which fixes things. I expect us to be done in a week and do the 2.5.1 release.

2 Likes