Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Beatrici <git@davidebeatrici.dev>2021-02-16 11:57:12 +0300
committerDavide Beatrici <git@davidebeatrici.dev>2021-02-16 11:57:18 +0300
commit1e4932b898363990ae41435a5741b4f31ddc6b4c (patch)
tree79583f6732e3f6e7a4f2c3c37bb5142b77194659
parent9f3685efb7e74b9a0106b087f9c5e74240b46742 (diff)
BUILD(versioning): Implement "--format" option in mumble-version.py
The option replaces "--project" and allows to specify the desired string format: - "full": The default. Prints version + suffix (e.g. "1.4.0~2021-02-14~g973cee211~snapshot"). - "version": Only prints the version (e.g. "1.4.0"). - "suffix": Only prints the suffix (e.g. "~2021-02-14~g973cee211~snapshot"). The main reason for implementing this new option is the suffix-only output. It will be passed to CMake in a future commit, for better filename control.
-rwxr-xr-x.ci/azure-pipelines/build_linux.bash2
-rwxr-xr-x.ci/azure-pipelines/build_macos.bash2
-rw-r--r--.ci/azure-pipelines/build_windows.bat2
-rwxr-xr-xscripts/mumble-version.py32
4 files changed, 21 insertions, 17 deletions
diff --git a/.ci/azure-pipelines/build_linux.bash b/.ci/azure-pipelines/build_linux.bash
index 72f3dcf24..b2a2a9cc4 100755
--- a/.ci/azure-pipelines/build_linux.bash
+++ b/.ci/azure-pipelines/build_linux.bash
@@ -20,7 +20,7 @@
#
if [[ -n "$MUMBLE_BUILD_NUMBER_TOKEN" ]]; then
- VERSION=$(python "scripts/mumble-version.py" --project)
+ VERSION=$(python "scripts/mumble-version.py" --format version)
BUILD_NUMBER=$(curl "https://mumble.info/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${MUMBLE_BUILD_NUMBER_TOKEN}")
else
BUILD_NUMBER=0
diff --git a/.ci/azure-pipelines/build_macos.bash b/.ci/azure-pipelines/build_macos.bash
index 90fa0dedf..ba2671ade 100755
--- a/.ci/azure-pipelines/build_macos.bash
+++ b/.ci/azure-pipelines/build_macos.bash
@@ -31,7 +31,7 @@
#
if [[ -n "$MUMBLE_BUILD_NUMBER_TOKEN" ]]; then
- VERSION=$(python "scripts/mumble-version.py" --project)
+ VERSION=$(python "scripts/mumble-version.py" --format version)
BUILD_NUMBER=$(curl "https://mumble.info/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${MUMBLE_BUILD_NUMBER_TOKEN}")
else
BUILD_NUMBER=0
diff --git a/.ci/azure-pipelines/build_windows.bat b/.ci/azure-pipelines/build_windows.bat
index 0d128281d..62efc3356 100644
--- a/.ci/azure-pipelines/build_windows.bat
+++ b/.ci/azure-pipelines/build_windows.bat
@@ -37,7 +37,7 @@
:: The method we use to store a command's output into a variable:
:: https://stackoverflow.com/a/6362922
-for /f "tokens=* USEBACKQ" %%g in (`python "scripts\mumble-version.py" --project`) do (set "VERSION=%%g")
+for /f "tokens=* USEBACKQ" %%g in (`python "scripts\mumble-version.py" --format version`) do (set "VERSION=%%g")
:: For some really stupid reason we can't have this statement and the one where we set the VERSION variable in the same if body as
:: in that case the variable substitution of that variable in the expression below fails (is replaced with empty string)
diff --git a/scripts/mumble-version.py b/scripts/mumble-version.py
index efb7e400e..e139179c0 100755
--- a/scripts/mumble-version.py
+++ b/scripts/mumble-version.py
@@ -100,8 +100,8 @@ def readProjectVersion():
def main():
parser = argparse.ArgumentParser()
+ parser.add_argument('-f', '--format', choices = ['full', 'version', 'suffix'], default='full', help = 'Output format')
parser.add_argument('-n', '--newline', action = "store_true", help = 'Break line after printing version')
- parser.add_argument('-p', '--project', action = "store_true", help = 'Print CMake project version')
parser.add_argument('-r', '--revision', type = int, default = 1, help = 'Revision (only used for type \'beta\' and \'rc\')')
parser.add_argument('-t', '--type', choices = ['snapshot', 'beta', 'rc', 'stable'], default = 'snapshot', help = 'Release type - determines the suffix')
args = parser.parse_args()
@@ -111,25 +111,29 @@ def main():
else:
end = ''
- projectVersion = readProjectVersion()
+ version = readProjectVersion()
- if args.project or args.type == 'stable':
- print(projectVersion, end = end)
- return
-
- if args.type == 'beta' or args.type == 'rc':
- version = '{0}-{1}{2}'.format(projectVersion, args.type, args.revision)
+ if args.format == 'version':
print(version, end = end)
return
- # Get the date of the most recent commit
- latestCommitDate = cmd(['git', 'log', '-1', '--format=%cd', '--date=short']).strip()
+ suffix = ''
+
+ if args.type == 'rc' or args.type == 'beta':
+ suffix = '-{0}{1}'.format(args.type, args.revision)
+ elif args.type == 'snapshot':
+ # Get the date of the most recent commit
+ latestCommitDate = cmd(['git', 'log', '-1', '--format=%cd', '--date=short']).strip()
- # Get the hash of the most recent commit (shortened)
- latestCommitHash = cmd(['git', 'rev-parse', '--short', 'HEAD']).strip()
+ # Get the hash of the most recent commit (shortened)
+ latestCommitHash = cmd(['git', 'rev-parse', '--short', 'HEAD']).strip()
- version = '{0}~{1}~g{2}~snapshot'.format(projectVersion, latestCommitDate, latestCommitHash)
- print(version, end = end)
+ suffix = '~{0}~g{1}~snapshot'.format(latestCommitDate, latestCommitHash)
+
+ if args.format == 'suffix':
+ print(suffix, end = end)
+ else:
+ print(version + suffix, end = end)
if __name__ == '__main__':
main()