I think, we will go this way to.When using a property for the version of each sub-module tree (the messaging example was only one), we have to change only the property and maven will add the new version of all submodules.
thanks Dirk Am 05.11.2010 17:58, schrieb Yanko, Curtis:
We've had the opposite experience with our large scale implementation. We keep the release numbers in sync by only setting it in the Parent POM so regardless of number of modules there is only one change to be made. The purist in me want to version everything separately but it has proved to be more practical to keep them in sync, making it obvious, even to the customer!, that they all go together. ________________________________ Curt Yanko | Continuous Integration Services | UnitedHealth Group IT Making IT Happen, one build at a time, 600 times a day -----Original Message----- From: Ron Wheeler [mailto:[email protected]] Sent: Friday, November 05, 2010 12:35 PM To: [email protected] Subject: Re: module versioning best practice We had to deal with this on a large scale and after a few attempts decided that the least painful solution was to treat our own libraries almost like third part software. If a library does not need to be changed, it is not changed and the software that depends on it just uses the right number Version 1.1 of module A depending on version 1.0 of module B is acceptable. We maintain a compatibility list for each "Release" of the application that details the right release of each of the subcomponents. We tried keeping the release numbers in synch but it was too much work for nothing to release 60 modules when only 5 actually changed. It is much easier to look up the spreadsheet to see what components make up "release" x.y.z of the application. We use aggregation POMs to simplify the maintenance of releases as well. This may not be as helpful when you have long release cycles but we are in production (3 years now) and we are releasing as often as once a week for small changes, bug fixes or minor enhancements and just did not have the resources to do the housekeeping with 60 projects. I hope that this helps. Ron On 05/11/2010 8:31 AM, Dirk Reske wrote:Hello, I have question about best practices for the versioning of my modules. Simple example: I have my "main" project: MainProject (just a simple webapp) and a bunch of separate maintained modules, e.g. external.api |--messaging.api |--sms.impl |--email.impl The messaging api contains a set of interfaces for external messaging services and the sms.impl and email.impl contains concrete implementations therefore. How should I set the version number of these sub modules? Should each has its own or should they derive from the external.api super-pom? My main project has all three as depedency. I think I can get version conflicts with both methods. If I change the messaging api, and increment the versions of all modules, but only change the version of the messaging.api dependency in the main project, I have a current messaging.api but older sms.impl that does not use the current interfaces. Thanks Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
smime.p7s
Description: S/MIME Cryptographic Signature
