I'm interested in repeatable release builds, but not really interested in repeatable snapshot builds. It would be great to specify for a parent (or a dependency in some cases) to use the latest available release or snapshot version while my project is under development (i.e. in snapshot mode). When I release the project, the release plugin could change the pom to specifically reference whatever version that is at the time, then switch back to "latest" mode for the next snapshot. This would give me a repeatable release build for my project without making me go through the effort to keep every project explicitly up-to-date with the latest version of the company-wide parent POM.
..David.. -----Original Message----- From: Michael McCallum [mailto:[EMAIL PROTECTED] Sent: Thursday, September 13, 2007 9:05 AM To: Maven Users List Subject: Re: Parent POM and versions... no way of saying the latest but in order to ensure repeatedable builds thats how it has to be... maven 2.1 will encourage people to not put stuff in the parent that should not be there e.g. repositories... other than that you just have to tough it out and update projects as they are released... <hack> if you break stuff it can be handy to edit a tag as in released parent and redeploy the artifact to your repository </hack> bash, for, find, sed can be used to easily update all the projects in a source control repository... On Friday 14 September 2007 02:58, Arne Styve wrote: > Hi, > > I have a question related to the use of a "company POM". In "Better > builds with Maven" there is a description of how to set up a POM regime > for a company, where we can have say 3 levels of POM's: one companywide > POM, one department wide POM and one projectspecific POM. Lets call > these with the following geoupId "com.mycompany" and Artifact Ids: > > Company pom : mycompany > Department pom : mydepartment > Project pom: someproject > > The company pom will be something like: > > <project> > <modelversion...........> > <groupId>com.mycompany</groupId> > <artifactId>mycomapny</artifactId> > <version>1<version> > ..... > </project> > > The department pom would initially be something like: > > <project> > <modelversion...........> > <parent> > <groupId>com.mycompany</groupId> > <artifactId>mycomapny</artifactId> > <version>1<version> > </parent> > <groupId>com.mycompany</groupId> > <artifactId>mydepartment</artifactId> > <version>1<version> > ..... > </project> > > ....and finally, the project POM would initially be something like > > <project> > <modelversion...........> > <parent> > <groupId>com.mycompany</groupId> > <artifactId>mydepartment</artifactId> > <version>1<version> > </parent> > <groupId>com.mycompany</groupId> > <artifactId>someproject</artifactId> > <version>1.0-SNAPSHOT<version> > ..... > </project> > > Now, what happens if I need to update the company POM ? I will update > it, and set it to version 2. How can I then ensure that all my current > projects will be using the new version of my company POM (available, > offcourse from our company repository) ? Do I have to update the > department pom so that it's parent now becomes v2 of the company POM, or > will Maven use version 1 or whichever is newer of the company POM (ie. > the v2) ? > The same goes for the project POM. I recon if I need to update the > department POM as a result of haveing updated the company POM, I also > need to update the project POM to use version 2 of the department POM ? > > Is there no way of saying that I want the latest version of a POM to be > the parent POM ? > > Regards > Arne > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- Michael McCallum Enterprise Engineer mailto:[EMAIL PROTECTED] --------------------------------------------------------------------- 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]
