47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
# This file is part of Buildbot. Buildbot is free software: you can
|
|
# redistribute it and/or modify it under the terms of the GNU General Public
|
|
# License as published by the Free Software Foundation, version 2.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
# details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# this program; if not, write to the Free Software Foundation, Inc., 51
|
|
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
# Copyright Buildbot Team Members
|
|
|
|
# strategy:
|
|
#
|
|
# if there is a VERSION file, use its contents. otherwise, call git to
|
|
# get a version string. if that also fails, use 'latest'.
|
|
#
|
|
import os
|
|
|
|
version = "latest"
|
|
|
|
try:
|
|
fn = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'VERSION')
|
|
version = open(fn).read().strip()
|
|
|
|
except IOError:
|
|
from subprocess import Popen, PIPE
|
|
import re
|
|
|
|
VERSION_MATCH = re.compile(r'\d+\.\d+\.\d+(\w|-)*')
|
|
|
|
try:
|
|
dir = os.path.dirname(os.path.abspath(__file__))
|
|
p = Popen(['git', 'describe', '--tags', '--always'], cwd=dir,
|
|
stdout=PIPE, stderr=PIPE)
|
|
out = p.communicate()[0]
|
|
|
|
if (not p.returncode) and out:
|
|
v = VERSION_MATCH.search(out)
|
|
if v:
|
|
version = v.group()
|
|
except OSError:
|
|
pass
|