Versioning changes

pull/849/head
Karl Hobley 2014-12-04 15:29:44 +00:00
rodzic 7d8e4b1e47
commit c19a19699a
5 zmienionych plików z 68 dodań i 3 usunięć

Wyświetl plik

@ -30,7 +30,7 @@ if not on_rtd: # only import and set the theme if we're building docs locally
sys.path.insert(0, os.path.abspath('..'))
# Get Wagtail version
from wagtail.wagtailcore import __version__
from wagtail import __version__
# Autodoc may need to import some models modules which require django settings
# be configured

Wyświetl plik

@ -2,7 +2,7 @@
import sys, os
from wagtail.wagtailcore import __version__
from wagtail import __version__
try:

Wyświetl plik

@ -0,0 +1,4 @@
from wagtail.utils.version import get_version
VERSION = (0, 9, 0, 'alpha', 0)
__version__ = get_version(VERSION)

Wyświetl plik

@ -0,0 +1,59 @@
# https://raw.githubusercontent.com/django/django/stable/1.6.x/django/utils/version.py
# This was copied into Wagtail so the get_git_changeset will use a file located in Wagtail instead of Django
# Replace this with version that uses lru cache when we drop Django 1.6 support
from __future__ import unicode_literals
import datetime
import os
import subprocess
def get_version(version=None):
"Returns a PEP 386-compliant version number from VERSION."
if version is None:
from django import VERSION as version
else:
assert len(version) == 5
assert version[3] in ('alpha', 'beta', 'rc', 'final')
# Now build the two parts of the version number:
# main = X.Y[.Z]
# sub = .devN - for pre-alpha releases
# | {a|b|c}N - for alpha, beta and rc releases
parts = 2 if version[2] == 0 else 3
main = '.'.join(str(x) for x in version[:parts])
sub = ''
if version[3] == 'alpha' and version[4] == 0:
git_changeset = get_git_changeset()
if git_changeset:
sub = '.dev%s' % git_changeset
elif version[3] != 'final':
mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'c'}
sub = mapping[version[3]] + str(version[4])
return str(main + sub)
def get_git_changeset():
"""Returns a numeric identifier of the latest git changeset.
The result is the UTC timestamp of the changeset in YYYYMMDDHHMMSS format.
This value isn't guaranteed to be unique, but collisions are very unlikely,
so it's sufficient for generating the development version numbers.
"""
repo_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
git_log = subprocess.Popen('git log --pretty=format:%ct --quiet -1 HEAD',
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
shell=True, cwd=repo_dir, universal_newlines=True)
timestamp = git_log.communicate()[0]
try:
timestamp = datetime.datetime.utcfromtimestamp(int(timestamp))
except ValueError:
return None
return timestamp.strftime('%Y%m%d%H%M%S')

Wyświetl plik

@ -1,2 +1,4 @@
__version__ = '0.9.dev0'
default_app_config = 'wagtail.wagtailcore.apps.WagtailCoreAppConfig'
# Import Wagtail version so Django debug toolbar can see it
from wagtail import __version__