danielflower / multi-module-maven-release-plugin

A maven release plugin that is fast, does not add extra commits, and works well with single or multiple modules
http://danielflower.github.io/multi-module-maven-release-plugin/index.html
MIT License
124 stars 64 forks source link

Requirement: Enable snapshots when they are resolvable #38

Open ascheman opened 7 years ago

ascheman commented 7 years ago

I have the following requirement: Enable snapshots when they can be resolved to a concrete version. In particular I would like to release a module A which is not directly related to a module B in terms of a common multi module build. Then B should be releasable while still maintaining a certain snapshot dependency to A. This would make the life of developers easier, since they could still work locally with snapshot versions of A and B. At the same time we could provide a central CI/CD build of A and B with subsequent versions of the two modules resolved to a concrete version of A when B is released.

Example: A is having version 1.3-SNAPSHOT, B depends on that very version. A is released as 1.3.0, 1.3.1, 1.3.2 etc. When B is released the snapshot dependency to A can be resolved to - for instance - version 1.3.3 (or whatever is the latest version in the moment(s) B is released).

Background: I was trying to build a continuous delivery pipeline with Maven based on the nice MMMR-Plugin. Therefore I already introduced an extension to enable this feature based on MMMR-Plugin version 1.4.4. We have successfully used the extension for some time now in our OSS project "DukeCon" (cf. https://dev.dukecon.org/jenkins/view/Build%20Pipeline%20Develop/job/dukecon_server_develop_releaser).

A merge with the latest MMMR-Plugin (2.0.4) is already under way (will raise a pull request soon).

sylvainlaurent commented 7 years ago

if you create an agregator project that contains both A and B as modules, then it should work no ?