Closed Bug 704519 Opened 13 years ago Closed 13 years ago

consolidate SDK version number in a single place, remove manual .version update step

Categories

(Add-on SDK Graveyard :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: warner, Assigned: warner)

References

Details

I've got a patch to let the SDK learn of its version number from either 'git describe' (if you're running from a git checkout) or from an expanded $Id$-type string (if you're running from an unpacked tarball downloaded from github, or created by 'git archive'). It uses an external package that I wrote named "python-versioneer" (https://github.com/warner/python-versioneer).

The branch is in https://github.com/warner/addon-sdk/tree/versioning , and touches just a few files:

 * add python-lib/cuddlefish/_version.py
 * change python-lib/cuddlefish/__init__.py to get version data from _version.py
 * removes python-lib/cuddlefish/version.py
 * update tests
 * add .gitattributes to do variable-substitution on _version.py

Versioneer uses 'git describe' to find the most recent tag, then construct a version string like (tagname)-(number of patches since the tag)-g(abbreviated-revisionid) , and appends "-dirty" if the local tree has been modified. It also include a full revisionid, in case we wanted to record that anywhere. This is usually enough information to reconstruct the original SDK source tree.

With versioneer in place, we should not have to manually modify .version files (in fact, we should remove .version once we've finished integration testing). Making a new release should just require making a new tag.

We need to do some testing on this with some simulated releases (using e.g. a personal github repo instead of the official one). It also needs testing on windows, since running from a git checkout will run 'git describe' each time cfx is run, and I want confidence that this works on windows as well as it does on unix.
Commit pushed to https://github.com/mozilla/addon-sdk

https://github.com/mozilla/addon-sdk/commit/ab04679c8b1a594b1a9994f8578f03af4fa4181f
Bug 704519: get version from git metadata, not static .version . r=myk

This uses python-versioneer to get version strings from either 'git
describe' (in a checked-out tree) or expanded variables (in an unpacked
tarball/zipball created by git-archive, or github's "download tag" button).
It also adds "cfx --version" to report the string, and updates "cfx docs" to
get the same version data.

Merge branch '704519-versioning'
Ok, that's done. Next step is to figure out the changes to the release process, and to do some merging to trunk so the version string is more useful than the current "0.9-1684-gab04679" (we'd prefer something more like 1.2-something or even 1.3-something). I've opened Bug 705028 for that release-process stuff.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.4
You need to log in before you can comment on or make changes to this bug.