This is a good idea. I like it. +1
Cheers Prasad On 8/11/06, Aaron Mulder <[EMAIL PROTECTED]> wrote:
Sounds fine to me. Thanks, Aaron On 8/11/06, Jason Dillon <[EMAIL PROTECTED]> wrote: > A while ago there was talks about independently versioning specs, and > Alan started a reorg branch which gives each spec module its own trunk > +branches+tags... > > I have been thinking about this for a while, and with the recent > desire to split off more modules from geronimo/trunk I've been > pondering it even more. What I have come to believe is that spitting > up spec modules into their own trunk+branches+tags is probably not > the best direction for us to head in. > > I believe that all of our specs can, and should, share one trunk... > and still have each module specify its own version. This is very > similar to how Maven2 plugins is setup, see here: > > http://svn.apache.org/repos/asf/maven/plugins > > Each plugin has its own version that changes independently. The top- > level pom has a version too, which is independent and is only changed > when there is a major configuration change in that pom. > > I recommend that we follow this model for our specs. > > The advantage to one trunk, is that it facilitates easy check out and > building when you just want all of the specs. If each spec was in > its own trunk, you would need to svn co each one, then mvn install in > each tree, which is a pain. > > We also almost never branch specs, they just keep chugging along, > only really needing tags to track released versions. > > So, here is what I propose: > > specs/trunk/pom.xml > specs/trunk/<artifactId> > specs/tags/<artifactId>/<version> > > And if needed: > > specs/branches/<artifactId>/<name> > > This is a single trunk so to build all specs: > > svn co https://svn.apache.org/repos/asf/geronimo/specs/trunk/ specs > cd specs > mvn install > > To release an individual spec, say geronimo-spec-jms: > > cd specs/geronimo-spec-jms > mvn release > > The m2 release plugin can be configured with a _tag base_, which we > can set to: > > https://svn.apache.org/repos/asf/geronimo/specs/tags/$ > {pom.artifactId} > > When released, the plugin will svn cp just the module's directory > into a directory under tags, so it will be easy to see what the > released versions of a specific spec are. > > * * * > > I really do not see the need for each spec to have its own trunk, and > really I think that if we did then it would just make it more > difficult for cases when we really want all specs. > > I do not see any downside to the approach above. > > I recommend that we implement this. The only major change, which > isn't that major, is that the properties which live in the root pom > that control the versions need to be removed... or rather moved back > to the <version> element of the respective pom. > > Comments? > > --jason > >