IXWebSocket/tools/update_version.sh
johnfoconnor d91b24723d version 8.0.2: add severity level for log sentry events (#152)
* script to update version

* version 8.0.2: add severity level for log sentry events
2020-01-28 14:04:18 -08:00

46 lines
990 B
Bash
Executable File

#/bin/sh
ver_gt() {
[ "$1" != "$2" ] && [ "$2" == "$(echo "$1\n$2" | sort -V | head -n1)" ]
}
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROJECT_ROOT="$(dirname ${SCRIPT_DIR})"
CUR_VSN=$(bash $SCRIPT_DIR/extract_version.sh)
NEW_VSN="$1"
check_ver() {
if [[ $NEW_VSN =~ ^[0-9.]+$ ]]; then
:
else
echo "Invalid version '$NEW_VSN'"
exit 1
fi
}
check_ver_increase() {
if ! ver_gt $NEW_VSN $CUR_VSN; then
echo "Invalid version '$NEW_VSN'. Must be greater than current version $CUR_VSN"
exit 1
fi
}
check_changelog() {
if ! egrep "\b$NEW_VSN\b" $PROJECT_ROOT/docs/CHANGELOG.md >/dev/null; then
echo "Invalid version '$NEW_VSN'. Missing entry in CHANGELOG.md"
exit 1
fi
}
set_version() {
sed -i '' "s/$CUR_VSN/$NEW_VSN/g" $PROJECT_ROOT/ixwebsocket/IXWebSocketVersion.h
echo "Set version to '$NEW_VSN'"
exit 0
}
check_ver
check_ver_increase
check_changelog
set_version