2022-04-30 15:25:44 +08:00

51 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# 检验版本号是否匹配
root_dir=$(cd `dirname $0`/.. && pwd -P)
# 获取开发工具版本号与MD5
VERSION_DATA=$( cat "$root_dir/conf/devtools_v" )
VERSION_DATA=(${VERSION_DATA//,/ })
TARGET_VERSION=${VERSION_DATA[0]}
TARGET_VERSION_MD5=${VERSION_DATA[1]}
# 检查snapcraft主版本号是否正确
SNAP_VERSION=$(grep -P "'\d+\.\d+\.\d{5,}" -o $root_dir/snap/snapcraft.yaml)
if [ "${SNAP_VERSION//\'/}" != "$TARGET_VERSION" ];then
echo "SNAP版本不正确!!!"
echo "SNAP版本: ${SNAP_VERSION//\'/} != 目标版本: $TARGET_VERSION"
exit 1
fi
# 检查readme中的版本
README_VERSION=$(grep -P '[\-`]\d+\.\d+\.\d{5,}[\-`]' -o "$root_dir/readme.md")
for ver in $README_VERSION; do
ver="${ver//[-\`]/}"
if [ "${ver}" != "${TARGET_VERSION}" ];then
echo "README中版本不正确!!!"
echo "README中版本: ${ver} != 目标版本: ${TARGET_VERSION}"
exit 1
fi
done
# 检查snapcraft构建时下载的工具版本号是否正确
SNAP_DEVTOOL_VERSION=$(cat $root_dir/snap/snapcraft.yaml | grep -P "=\d+\d+\d{5,}" -o)
if [ "${SNAP_DEVTOOL_VERSION//=/}" != "${TARGET_VERSION//./}" ];then
echo "SNAP工具版本不正确!!!"
echo "snap下载版本: ${SNAP_DEVTOOL_VERSION//=/} != 目标版本: ${TARGET_VERSION//./}"
exit 1
fi
# 有当前版本的TAG,检查snap版本是否符合要求
LATEST_TAG=$(git describe --abbrev=0)
if [[ $LATEST_TAG == "v${TARGET_VERSION}"* ]];then
SNAP_VERSION=$(grep -P "'\d+\.\d+\.\d+-\d+" -o $root_dir/snap/snapcraft.yaml)
if [ "v${SNAP_VERSION//\'/}" != "$LATEST_TAG" ];then
echo "SNAP版本与TAG不符!!!"
echo "SNAP版本: v${SNAP_VERSION//\'/} != 最新TAG: $LATEST_TAG"
exit 1
fi
fi