On Wed, Apr 25, 2012 at 5:20 PM, Marcel Offermans <[email protected]> wrote: > Hello Bram, > > On Apr 25, 2012, at 17:04 , Bram de Kruijff wrote: > >> Hi Marcel, >> >> On Wed, Apr 25, 2012 at 3:34 PM, Marcel Offermans >> <[email protected]> wrote: >>> Hello all, >>> >>> We're homing in on an 1.0 release of the Amdatu Platform, so this is a good >>> moment to discuss our versioning scheme. We (the platform team) propose to >>> adopt the semantic versioning scheme as recommended by the OSGi Alliance >>> [1]. We have documented it here [2] and from 1.0 onwards we would like to >>> start using it. >> >> +1 on Semantic versioning from 1.0 onward. At least at the bundle and >> package levels. I imagine this will take some getting used to as it >> goes beyond the naive versioning most of us are accustomed to. It may >> be a good idea to embed this into review / release checklists. > > Definitely. > >>> That basically means we have three things we version: >>> >>> 1) At the top level, we have a version number that we associate with the >>> platform as a whole. This version number will start with 1.0 and will be >>> increased every time we make a new release. >> >> My question here is what actually constitutes "a release"? > > To me, a release is a set of artifacts that we label with a "top level" > version. Those artifacts include bundles (which are also versioned) and maybe > some configuration files (unversioned and those usually only make sense if > you create some "runnable distribution"). > > I am restricting this to a "binary" release for now, as we could (and should) > also discuss how we release our source code (since we're an open source > project after all). > >> Right now >> we have a "0.4.0-RC2 platform release" which is basically an implicit >> superset of all artifacts under that same version number. One of those >> artifacts is actually amdatu-release-0.4.0-RC2, which is a set of >> bundles and configuration files (not all artifacts) assembled into an >> example server, but that does not contain all artifacts. So.. there >> actually is not one physical thing we call a release and can assign >> that number to. > > Ok, so maybe we want to change the way we do things a bit. For one, not all > artifacts will have the same version number anymore. Also, I think our > bundles can be combined in so many ways that we should not attempt to > pre-assemble them (see below). > >> Obviously, we could make once big zip containing all artifacts that we >> call a release, but does that really make sense? > > I don't care if it's one big zip, or just a collection of artifacts in some > folder. > >> It wont actually do >> anything and be a huge download while we have maven repositories and >> provisioning servers to distribute code more elegantly. > > This collection could be the basis for what we upload to a maven repository, > or put in the OBR of a provisioning server. > >> Maybe a release is just a definition of the artifacts making up a >> release, similar to a Karaf feature? Maybe, it is just a "static" >> distribution at the future main Amdatu provisioning server? > > Well, I think (see above) that we should start making a difference between > the artifacts that we release and the ways in which we can assemble those > into "runnable distributions or applications or servers". Our releases should > probably just be a collection of artifacts. Based on those we can then create > runnables (like our kitchensink, the AMS, etc..). > >> I'm a little confused on this topic and depending on what a release is >> semantic versioning may or may not make sense :) > > Do my answers help, or make it worse? ;)
A bit of both :D That is to say... I think we agree on the big picture. But my main question is "What will the tangible form of a release be?" and you basically say "I don't care" which is fair enough but not really helpful ;) This needs some more simmering on my end.. grz Bram _______________________________________________ Amdatu-developers mailing list [email protected] http://lists.amdatu.org/mailman/listinfo/amdatu-developers

