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? ;)

Greetings, Marcel


_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to