revelc / pyaccumulo

Python Client Library for Apache Accumulo
Apache License 2.0
26 stars 23 forks source link

Introducing version.py and using it in setup.py to get the python #7

Closed johnrfrank closed 11 years ago

johnrfrank commented 11 years ago

package version number from git describe, so we can have officially tagged versions, and releases distinguished by commit hash.

Also introducing Makefile, which helps regiment some of these setup.py commands, and will facilitate auto testing.

I have tested this with pypi by creating:

https://pypi.python.org/pypi?%3Aaction=pkg_edit&name=pyaccumulo-dev

and verifying that this works in a setup.py of a project depending on this package:

install_requires=[
    'pyaccumulo_dev >= 1.5.0-SNAPSHOT.1',
],

Problem: a pull request like this does not transmit tags. This scheme still works even without tags agreeing across forks, because it constructs release number and uses git hash. This schemes works better if we coordinate tags by designing a release process that tags versions of this python package with tags like 1.5.0-SNAPSHOT.1 etc.

jatrost commented 11 years ago

LGTM

johnrfrank commented 11 years ago

(ve)jrf@dev3:~/pyaccumulo$ git tag -a 1.5.0-SNAPSHOT.1 -m 'tagging current release of pyaccumulo, so that egg versions are determined by git repo tags.' (ve)jrf@dev3:~/pyaccumulo$ git push --tags Counting objects: 1, done. Writing objects: 100% (1/1), 230 bytes, done. Total 1 (delta 0), reused 0 (delta 0) To git@github.com:accumulo/pyaccumulo.git

I just tagged the repo, so that versions.py actually works.