Hi Jörg, Thanks for your reply. I have a couple of questions about your layout.
1. You have two "parent" poms. One in a sub directory for performing a release, and another at the top level to link all modules together for dependency resolution, is this correct? 2. You say your ".links/trunk" points to the trunk of every sub project. How do I get that into subversion? I don't quite understand how to do that. Thanks, Todd Jörg Schaible wrote: > > Hi Todd, > > Todd Nine wrote on Friday, March 02, 2007 5:22 PM: > >> Hi all, >> I'm created a multi project build using subversion for source >> control. I've used CVS in the past, so I'm a bit confused as to how I >> need to layout the repository for a multiproject release in >> subversion. Here are the two options as I see them, which one should >> I use to perform a release from the parent pom? >> >> Option 1 (I think this is correct) >> >> >> myrepo + >> +branches >> +tags >> +trunk >> +--pom.xml(parent) >> +-- proj A (component) >> +-- proj B (component) >> >> Option 2 (I'm not sure how the parent pom would tag the whole >> release this way) >> >> >> myrepo + >> +pom.xml >> +Proj A(component) >> +--branches >> +--tags >> +--trunk >> +Proj B (component, same structure as proj A) > > IMHO it simply depends on your release cycle. If the components from proj > A+B share the same version I'd go with option 1. If they have an > independent release cylce, we use a modified option 2: > > myrepo > + .links (2) > + trunk > + pom.xml > + parent-pom (1) > + trunk > + pom.xml > + project-A > + trunk > + pom.xml > + project-B > + trunk > + pom.xml > > 1) The parent POM of the project has an own release cycle. Every > component's POM will use it as parent (referenced simply with group and > artifact id, we're not using the relPath). For a release you'll have to > release the parent POM first. > > 2) This is a construction to enable easy check outs of a specific branch > of the project i.e. normally the trunk. A subversion user checks out > myrepo/.links/trunk to get the head revision of all sources. The trick is, > that that directory contains external links to the trunks of all other > modules of this project (parent-pom, project-A, project-B). The pom.xml in > this directory is never released, it contains simply a modules section for > the three modules to enable a multi module build. With this construct > you're able to setup easily branches e.g.: > > myrepo > + .links > + branch-2.x > + pom.xml > > The external links in "myrepo/.links/branch-2.x" will point to the > individual branches of the module. And this is really convenient, if > branch 2.x does not mean that every subproject has an own branch (you > might be able to use a released version - therefore no need to build the > component that has no changes in the branch). > > This setup works quite well for us. > > - Jörg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Multiproject-Subversion-Layout-tf3334487s177.html#a9498748 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]