42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
VERSION_FILE="$(pwd)/src/version.hpp"
|
|
|
|
MAJOR=$(grep -oP 'MQTTD_VERSION_MAJOR \K[0-9]+' "$VERSION_FILE")
|
|
MINOR=$(grep -oP 'MQTTD_VERSION_MINOR \K[0-9]+' "$VERSION_FILE")
|
|
PATCH=$(grep -oP 'MQTTD_VERSION_PATCH \K[0-9]+' "$VERSION_FILE")
|
|
|
|
_bump_version() {
|
|
case "$1" in
|
|
major)
|
|
MAJOR=$((MAJOR + 1))
|
|
;;
|
|
minor)
|
|
MINOR=$((MINOR + 1))
|
|
;;
|
|
patch)
|
|
PATCH=$((PATCH + 1))
|
|
;;
|
|
*)
|
|
echo "Unknown version semantic $1" >&2
|
|
exit 124
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# Atualizar versões
|
|
[ "$#" -gt 0 ] && _bump_version "$1"
|
|
sed -i "s/MQTTD_VERSION_MAJOR [0-9]\+/MQTTD_VERSION_MAJOR $MAJOR/" "$VERSION_FILE"
|
|
sed -i "s/MQTTD_VERSION_MINOR [0-9]\+/MQTTD_VERSION_MINOR $MINOR/" "$VERSION_FILE"
|
|
sed -i "s/MQTTD_VERSION_PATCH [0-9]\+/MQTTD_VERSION_PATCH $PATCH/" "$VERSION_FILE"
|
|
|
|
# Atualizar informações de compilação
|
|
COMMIT_HASH=$(git rev-parse HEAD)
|
|
BUILD_TIMESTAMP=$(date +%s)
|
|
sed -i "s/MQTTD_COMMIT_HASH \"[a-zA-Z0-9]\+\"/MQTTD_COMMIT_HASH \"$COMMIT_HASH\"/" "$VERSION_FILE"
|
|
sed -i "s/MQTTD_BUILD_TIMESTAMP [0-9]\+/MQTTD_BUILD_TIMESTAMP $BUILD_TIMESTAMP/" "$VERSION_FILE"
|
|
|
|
# Exibir versão atualizada
|
|
printf "%d.%d.%d" "$MAJOR" "$MINOR" "$PATCH"
|