| A few years ago I had the same discussion regarding some closed source projects and some very smart and very experienced programmers (better than me). They explained to me that a aligned release is not possible for the same reasons you told me - until I refactored all the different subprojects into a single multimodul maven project tree, added some projects to test interoperability and performance and hooked it into a common jenkins build with a configuration to test with the standard database(s). Since then the interoperability tests failed in some rather surprising situations that however have been difficult but valid quality problems. And since then we only have one rule: versions have to match. Since then not a single line regarding interoperability had to be written by the developers and they can concentrate on something else like compatibility between different versions which is a major problem for us. Of course some subprojects exist in different versions with equal content because of this approach but this is not a problem. I know that for hibernate having gradle and maven as build system is something that might make it impossible to do it that way. However creating a single multimodul project out of hibernate is a major effort and causes some disadvantages like increased build time that you then have to fix by adding several sub builds using maven profiles within the some multimodul project and so on. So I totally agree there is no silver bullet.. |