Hello everyone, :-)
I'm currently sitting on the book "Continuous Delivery" written by Jez Humble and David Farley. They write that each build is a potential release candidate. And each build should be triggered by the check-in into the SCM. So far, so good. But how do I realize that in Maven? Up until now the version number in our Maven projects and modules have been static. If it had to be changed the developer had to perform that step. But if the CI server performs the build as well as putting the result into the repository (in our case Nexus), the resulting artifacts have to include the build number in some way. Otherwise I overwrite the same artifact other and other again until a developer changes the version in the POM file. Depending projects then will see only the last version of the artifact and builds won't be repeatable (means the functionality of the artifact changes without anyone noticing it). One way would be to modify the POM between the check-out from the SCM and the Maven build process and writing the build number into it. But then I will have the problem in the IDE that it don't understand that the current version I've checked-out is the version I have referred on in another project I've checked-out. If the CI server checks-in the changed POM file afterwards it will trigger the next build. Also it will cause problems if the POM was changed in the SCM in the meantime as the CI maybe can't merge it. Anyone solved that problem? Regards, Gerrit