Files
2026-10-21 15:24:44 +01:00

12 lines
470 B
Bash

#!/usr/bin/env bash
# Derive a version code from strict semver MAJOR.MINOR.PATCH (each 0-999):
# MAJOR*1000000 + MINOR*1000 + PATCH. Anything else exits 1.
set -eu
v="${1:-}"
if [[ "$v" =~ ^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$ ]]; then
echo $(( 10#${BASH_REMATCH[1]} * 1000000 + 10#${BASH_REMATCH[2]} * 1000 + 10#${BASH_REMATCH[3]} ))
else
echo "error: version '$v' is not MAJOR.MINOR.PATCH with components < 1000; pass version-code explicitly" >&2
exit 1
fi