parent
761694fa05
commit
94a18e9648
|
@ -25,6 +25,16 @@ import sys
|
||||||
import subprocess
|
import subprocess
|
||||||
import io
|
import io
|
||||||
|
|
||||||
|
version_override = None
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
m = re.match(r'^(.*?)\.(.*?)\.(.*)$', sys.argv[1])
|
||||||
|
if m is None:
|
||||||
|
print('\033[1;31m[!] Unable to parse version override argument\033[0m')
|
||||||
|
sys.exit(1)
|
||||||
|
version_override = (m.group(1), m.group(2), m.group(3))
|
||||||
|
print('\033[1;34m[*] Version override: '+('%s.%s.%s' % version_override)+'\033[0m')
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
git_root = subprocess.check_output(['git', 'rev-parse', '--show-toplevel']).strip()
|
git_root = subprocess.check_output(['git', 'rev-parse', '--show-toplevel']).strip()
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
|
@ -65,16 +75,24 @@ data = open('CMakeLists.txt', 'r').readlines()
|
||||||
for i in range(len(data)):
|
for i in range(len(data)):
|
||||||
m = re.match(r'^set\(COLOBOT_VERSION_(MAJOR|MINOR|REVISION)( +)([0-9]+)\)$', data[i])
|
m = re.match(r'^set\(COLOBOT_VERSION_(MAJOR|MINOR|REVISION)( +)([0-9]+)\)$', data[i])
|
||||||
if m:
|
if m:
|
||||||
x = int(m.group(3))
|
x = m.group(3)
|
||||||
if m.group(1) == 'MAJOR':
|
if m.group(1) == 'MAJOR':
|
||||||
major = x
|
if version_override is None:
|
||||||
|
major = x
|
||||||
|
else:
|
||||||
|
major = version_override[0]
|
||||||
elif m.group(1) == 'MINOR':
|
elif m.group(1) == 'MINOR':
|
||||||
minor = x
|
if version_override is None:
|
||||||
|
minor = x
|
||||||
|
else:
|
||||||
|
minor = version_override[1]
|
||||||
elif m.group(1) == 'REVISION':
|
elif m.group(1) == 'REVISION':
|
||||||
# Increase revision number
|
if version_override is None:
|
||||||
x += 1
|
# Increase revision number
|
||||||
revision = x
|
revision = str(int(x) + 1)
|
||||||
data[i] = 'set(COLOBOT_VERSION_'+m.group(1)+m.group(2)+str(x)+')\n'
|
else:
|
||||||
|
revision = version_override[2]
|
||||||
|
data[i] = 'set(COLOBOT_VERSION_'+m.group(1)+m.group(2)+x+')\n'
|
||||||
|
|
||||||
m = re.match(r'^(#?)set\(COLOBOT_VERSION_(UNRELEASED|RELEASE_CODENAME)( +)"(.+)"\)$', data[i])
|
m = re.match(r'^(#?)set\(COLOBOT_VERSION_(UNRELEASED|RELEASE_CODENAME)( +)"(.+)"\)$', data[i])
|
||||||
if m:
|
if m:
|
||||||
|
@ -84,8 +102,8 @@ for i in range(len(data)):
|
||||||
data[i] = ('#' if comment else '')+'set(COLOBOT_VERSION_'+m.group(2)+m.group(3)+'"'+m.group(4)+'")\n'
|
data[i] = ('#' if comment else '')+'set(COLOBOT_VERSION_'+m.group(2)+m.group(3)+'"'+m.group(4)+'")\n'
|
||||||
|
|
||||||
subprocess.check_call(['git', 'checkout', 'master'])
|
subprocess.check_call(['git', 'checkout', 'master'])
|
||||||
version = '%d.%d.%d%s' % (major, minor, revision, codename)
|
version = '%s.%s.%s%s' % (major, minor, revision, codename)
|
||||||
version_human = '%s %d.%d.%d' % (codename.strip('-'), major, minor, revision)
|
version_human = '%s %s.%s.%s' % (codename.strip('-'), major, minor, revision)
|
||||||
print('\033[1;32m[+] Building version '+version+'\033[0m')
|
print('\033[1;32m[+] Building version '+version+'\033[0m')
|
||||||
|
|
||||||
print('\033[1;34m[*] Merge data...\033[0m')
|
print('\033[1;34m[*] Merge data...\033[0m')
|
||||||
|
|
Loading…
Reference in New Issue