From d3358d507606a5d1100636a6fb9bd8308f4faaa0 Mon Sep 17 00:00:00 2001 From: Gerardo Tauriello <gerardo.tauriello@unibas.ch> Date: Thu, 4 Jul 2019 14:13:03 +0200 Subject: [PATCH] SCHWED-4329: fix version bumping script. --- scripts/bump-version.py | 64 +++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/scripts/bump-version.py b/scripts/bump-version.py index 85c3c1063..71419234c 100755 --- a/scripts/bump-version.py +++ b/scripts/bump-version.py @@ -1,21 +1,49 @@ #!/usr/bin/env python -import sys -out=[] -version=sys.argv[1].split('.') -if len(version)==2: - major, minor, patch=(int(version[0]), int(version[1]), 0) +import sys, fileinput + +if len(sys.argv) < 2: + print "USAGE: python scripts/bump-version.py OST_VERSION" + print "-> OST_VERSION is MAJOR.MINOR.PATCH (e.g. 1.9.1)" + print "-> assumption is that a git tag OST_VERSION will exist" + sys.exit(1) + +# split up version number +version_string = sys.argv[1] +version = version_string.split('.') +if len(version) == 2: + major, minor, patch = (int(version[0]), int(version[1]), 0) + version_string += ".0" else: - major, minor, patch=(int(version[0]), int(version[1]), int(version[2])) -for line in open('modules/config/version.hh'): - if line.startswith('#define OST_VERSION_MAJOR'): - out.append('#define OST_VERSION_MAJOR %d\n' % major) - elif line.startswith('#define OST_VERSION_MINOR'): - out.append('#define OST_VERSION_MINOR %d\n' % minor) - elif line.startswith('#define OST_VERSION_PATCH'): - out.append('#define OST_VERSION_PATCH %d\n' % patch) - elif line.startswith("#define OST_VERSION_STRING"): - out.append('#define OST_VERSION_STRING "%d.%d.%d"\n' % (major,minor,patch)) - else: - out.append(line) + major, minor, patch = (int(version[0]), int(version[1]), int(version[2])) + +# fix CMakeLists +lines = open("CMakeLists.txt").readlines() +for i, line in enumerate(lines): + if line.startswith("set (OST_VERSION_MAJOR"): + lines[i] = "set (OST_VERSION_MAJOR %d)\n" % major + elif line.startswith("set (OST_VERSION_MINOR"): + lines[i] = "set (OST_VERSION_MINOR %d)\n" % minor + elif line.startswith("set (OST_VERSION_PATCH"): + lines[i] = "set (OST_VERSION_PATCH %d)\n" % patch +open("CMakeLists.txt", "w").writelines(lines) + +# fix CHANGELOG +lines = open("CHANGELOG.txt").readlines() +for i, line in enumerate(lines): + if line.startswith("Changes in Release") and "X" in line.upper(): + lines[i] = "Changes in Release %s\n" % version_string +open("CHANGELOG.txt", "w").writelines(lines) + +# fix Docker recipe +lines = open("docker/Dockerfile").readlines() +for i, line in enumerate(lines): + if line.startswith("ARG OPENSTRUCTURE_VERSION"): + lines[i] = 'ARG OPENSTRUCTURE_VERSION="%s"\n' % version_string +open("docker/Dockerfile", "w").writelines(lines) -open('modules/config/version.hh', 'w').write(''.join(out)) \ No newline at end of file +# fix Singularity recipe +lines = open("singularity/Singularity").readlines() +for i, line in enumerate(lines): + if line.startswith("export OPENSTRUCTURE_VERSION="): + lines[i] = 'export OPENSTRUCTURE_VERSION="%s"\n' % version_string +open("singularity/Singularity", "w").writelines(lines) -- GitLab