adding automatic versioning
This commit is contained in:
parent
9e0b9d9dda
commit
3651cce542
|
@ -1 +1,2 @@
|
||||||
* text=auto
|
* text=auto
|
||||||
|
version.py export-subst
|
|
@ -1,4 +1,4 @@
|
||||||
include setup.py package.json bower.json gulpfile.js README.rst MANIFEST.in LICENSE AUTHORS
|
include setup.py version.py package.json bower.json gulpfile.js README.rst MANIFEST.in LICENSE AUTHORS
|
||||||
recursive-include lemur/plugins/lemur_email/templates *
|
recursive-include lemur/plugins/lemur_email/templates *
|
||||||
recursive-include lemur/static *
|
recursive-include lemur/static *
|
||||||
global-exclude *~
|
global-exclude *~
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#
|
#
|
||||||
# All configuration values have a default; values that are commented out
|
# All configuration values have a default; values that are commented out
|
||||||
# serve to show the default.
|
# serve to show the default.
|
||||||
|
from version import get_version
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
@ -55,9 +56,9 @@ copyright = u'2015, Netflix Inc.'
|
||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '0.1'
|
version = get_version()
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '0.1.3'
|
release = get_version()
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
|
|
@ -5,7 +5,7 @@ docutils>=0.7
|
||||||
markupsafe
|
markupsafe
|
||||||
sphinxcontrib-httpdomain
|
sphinxcontrib-httpdomain
|
||||||
Flask==0.10.1
|
Flask==0.10.1
|
||||||
Flask-RESTful==0.3.4
|
Flask-RESTful==0.3.3
|
||||||
Flask-SQLAlchemy==2.1
|
Flask-SQLAlchemy==2.1
|
||||||
Flask-Script==2.0.5
|
Flask-Script==2.0.5
|
||||||
Flask-Migrate==1.6.0
|
Flask-Migrate==1.6.0
|
||||||
|
|
6
setup.py
6
setup.py
|
@ -21,6 +21,8 @@ from setuptools.command.sdist import sdist
|
||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
from subprocess import check_output
|
from subprocess import check_output
|
||||||
|
|
||||||
|
from version import get_version
|
||||||
|
|
||||||
ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__)))
|
ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__)))
|
||||||
|
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
@ -124,11 +126,11 @@ class BuildStatic(Command):
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='lemur',
|
name='lemur',
|
||||||
version='0.1.5',
|
version=get_version(),
|
||||||
author='Kevin Glisson',
|
author='Kevin Glisson',
|
||||||
author_email='kglisson@netflix.com',
|
author_email='kglisson@netflix.com',
|
||||||
url='https://github.com/netflix/lemur',
|
url='https://github.com/netflix/lemur',
|
||||||
download_url='https://github.com/Netflix/lemur/archive/0.1.3.tar.gz',
|
download_url='https://github.com/Netflix/lemur/archive/{0}.tar.gz'.format(get_version()),
|
||||||
description='Certificate management and orchestration service',
|
description='Certificate management and orchestration service',
|
||||||
long_description=open(os.path.join(ROOT, 'README.rst')).read(),
|
long_description=open(os.path.join(ROOT, 'README.rst')).read(),
|
||||||
packages=find_packages(),
|
packages=find_packages(),
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Source: https://github.com/Changaco/version.py
|
||||||
|
|
||||||
|
from os.path import dirname, isdir, join
|
||||||
|
import re
|
||||||
|
from subprocess import CalledProcessError, check_output
|
||||||
|
|
||||||
|
|
||||||
|
PREFIX = ''
|
||||||
|
|
||||||
|
tag_re = re.compile(r'\btag: %s([0-9][^,]*)\b' % PREFIX)
|
||||||
|
version_re = re.compile('^Version: (.+)$', re.M)
|
||||||
|
|
||||||
|
|
||||||
|
def get_version():
|
||||||
|
# Return the version if it has been injected into the file by git-archive
|
||||||
|
version = tag_re.search('$Format:%D$')
|
||||||
|
if version:
|
||||||
|
return version.group(1)
|
||||||
|
|
||||||
|
d = dirname(__file__)
|
||||||
|
|
||||||
|
if isdir(join(d, '.git')):
|
||||||
|
# Get the version using "git describe".
|
||||||
|
cmd = 'git describe --tags --match %s[0-9]* --dirty' % PREFIX
|
||||||
|
try:
|
||||||
|
version = check_output(cmd.split()).decode().strip()[len(PREFIX):]
|
||||||
|
except CalledProcessError:
|
||||||
|
raise RuntimeError('Unable to get version number from git tags')
|
||||||
|
|
||||||
|
# PEP 440 compatibility
|
||||||
|
if '-' in version:
|
||||||
|
if version.endswith('-dirty'):
|
||||||
|
raise RuntimeError('The working tree is dirty')
|
||||||
|
version = '.post'.join(version.split('-')[:2])
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Extract the version from the PKG-INFO file.
|
||||||
|
with open(join(d, 'PKG-INFO')) as f:
|
||||||
|
version = version_re.search(f.read()).group(1)
|
||||||
|
|
||||||
|
return version
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(get_version())
|
Loading…
Reference in New Issue