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]