On 02/02/2010 11:39 AM, Jason Dobies wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Forwarding to rhq-devel
- -------- Original Message --------
Subject: build # in manifests of our jars
Date: Tue, 02 Feb 2010 11:25:24 -0500
From: Ian Springer<ian.springer(a)redhat.com>
Organization: Red Hat, Inc.
As some of you may know, a Build-Number attribute is written in the
manifest of all of our jars. This build # can be found in the GUI by
selecting the Help>About menu item or from the Agent by typing the
'version' prompt command. Traditionally, the build # is used most by QE
to quickly ascertain what version of the source their build was built from.
In our SVN days, the SVN revision was used as the build #, which worked
nicely, since SVN revisions are guaranteed to be sequential over time.
For example, if I knew RHQ 1.2 was SVN r4000 and RHQ 1.3 was SVN r5000,
and my local build had build # 4500, then I know I'm working with a
build from somewhere in between 1.2 and 1.3.
Since we switched to git, the Build-Number attribute is always 0. This
is because the buildnumber plugin we were using only supported SVN. I've
updated the linux-config branch to start using the abbreviated git
last-commit SHA-1 hash (e.g. 7e45a62) as the build #. This is useful but
it lacks the quality of being sequential over time like SVN revisions.
To compensate for this, I've also made sure all our jars have a
Build-Time header which contains a human-readable date+time string. Does
this work for people, particularly QE, or would people prefer the build
# to be a sequential integer based on the current time (e.g.
year.dayOfYear.secondOfDay or seconds-since-epoch)? Or do people prefer
that both are provided, e.g.:
Build-Number: 10-33-23012
Why not "month/day/year time"?