-1 for using timestamps first in qualifier, I spent to much time figuring out why builds were failing

+1 to follow the rules
{quote}
major.minor.micro.Alpha[n]
major.minor.micro.Beta[n]
major.minor.micro.CR[n]
major.minor.micro.Final
{quote}

with modifications

major.minor.micro.Alpha[n]-vYYYYMMDD-HHMM-Hnnn
major.minor.micro.Beta[n]-vYYYYMMDD-HHMM-Hnnn
major.minor.micro.CR[n]-vYYYYMMDD-HHMM-Hnnn
major.minor.micro.Final-vYYYYMMDD-HHMM-Hnnn

it means if we have a branch for Alpha1 and trunk is moved to Alpha2, trunk build always has bigger versions and no more problems with branch build is picked up from local/remote repo.
with timestamp first it would pick up latest build no matter where it is built from, that is unpredictable and takes time to figure out why build is failing.

Denis

On 08/24/2012 11:05 AM, Nick Boldt wrote:
The rules state we must end with .Final (and .GA for products):

https://community.jboss.org/wiki/JBossProjectVersioning

So... either we prefix with timestamps, or we prefix with an alphabetic sequent culminating in .Final (and .GA for products).

IMHO, the best plan, if you insist on alias before timestamp, is:

* for nightlies & releases toward milestone/RC builds

I-M1-yyyymmdd-hhmm-B###
I-M2-yyyymmdd-hhmm-B###
S-Beta1-yyyymmdd-hhmm-B###
S-CR1-yyyymmdd-hhmm-B###

then

vyyyymmdd-hhmm-B###.Final (or vyyyymmdd-hhmm-B###.GA for product)

* for nightlies & releases toward maintenance builds

M-M1-yyyymmdd-hhmm-B###
S-CR1-yyyymmdd-hhmm-B###

then

vyyyymmdd-hhmm-B###.Final (or vyyyymmdd-hhmm-B###.GA for product)

(Note that I'm using B### intead of H${BUILD_NUMBER} because we use Jenkins now so "*B*uild" makes more sense than "*H*udson" as the prefix character.)

By using the I, M, S, and v convention, you ensure that:

* builds in the stream toward x.y.0 are always older than builds in the stream toward x.y.1, because I < M... even if the feature's base version hasn't changed.

* builds later in the cycle (Beta and CR) are always newer than builds earlier in the cycle (Milestones), because a stable build S > M > I.

* release builds are always newer than stables, milestones, or maintenance builds, because v > S  > M  > I.

(Aside: if you don't like "v", we could also use "r", or any other lowercase letter.)

N

On 08/24/2012 01:13 PM, Denis Golovin wrote:

On 08/23/2012 08:26 PM, Max Rydahl Andersen wrote:
I did not say *remove* the date, I said it should not be the significant decider for p2.

i.e. Release of a version should make any nightly/snapshot builds of that version invalid; today it does not because the data comes *before* the release type flag.

proper versioning that has semantic API meaning instead of just rely on what date the build was made.
In trunk it is now uses release type in front of the date. It was fixed a month ago and works fine since.
I uses '${BUILD_ALIAS}-v'yyyyMMdd-HHmm' for local builds and '${BUILD_ALIAS}-v'yyyyMMdd-HHmm'-H${BUILD_NUMBER}' for hudson
Oh - nice; that is news to me! Didn't see any notification on this ? Shouldn't we get that out since this changes things for QE/testers/bleeding edge installs
and bumping versions becomes that more important.
We probably should, but I believe it is fine, because changed components should bump the version and it means bumped version in X.X.X.M1_vXXXXXXXX-XXXX-HXXX format should be higher than version in old format X.X.X.vXXXXXXXX-XXXX-HXXX-M1.
okey - but M1 is higher than Beta1 afaics so this is not clean as it stands.

Do we need to move to use Alpha's instead ? .... not too fond of that because milestone is more neutral but don't see many other options ?

/max

How about this sequence

M1,M2,M3,M4,RC1,RC2

where RC stands for Release Candidate. The only problem to solve is pick
out build alias for Release.

R - would not work because it is less than "R-" < "RC"

Another options to pick up ( all works):
RL
RLS
REL
RELEASE

WDYT?

Denis

_______________________________________________
jbosstools-dev mailing list
jbosstools-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev