11 lines
382 B
Bash
Executable File
11 lines
382 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eu
|
|
|
|
VERSION=${1:-}
|
|
SEMVER_PATTERN='^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$'
|
|
|
|
if [ "${#VERSION}" -gt 128 ] || [[ ! "$VERSION" =~ $SEMVER_PATTERN ]]; then
|
|
printf 'Invalid SemVer: %s\n' "$VERSION" >&2
|
|
exit 1
|
|
fi
|