diff --git a/tools/build-appimage.sh b/tools/build-appimage.sh index a389152..8c72e74 100755 --- a/tools/build-appimage.sh +++ b/tools/build-appimage.sh @@ -1,8 +1,17 @@ #!/bin/bash + +# 参数: +# $1 - 版本 v1.05.2203030-2 +# $2 - 平台 x86_64 + set -e notice() { echo -e "\033[36m $1 \033[0m " } +fail() { + echo -e "\033[41;37m 失败 \033[0m $1" +} + if [ -z $VERSION ];then export VERSION=$1 @@ -11,6 +20,14 @@ if [ -z $ARCH ];then export ARCH=$2 fi +if [[ $VERSION == '' ]];then + fail "请指定版本" + exit 1 +elif [[ $ARCH == '' ]];then + fail "请指定架构" + exit 1 +fi + if [[ $NO_WINE == 'true' ]];then TYPE='no_wine' else @@ -23,11 +40,20 @@ app_dir="$tmp_dir/AppDir" build_dir="$tmp_dir/build" mkdir -p $build_dir +notice "检查版本号" +DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) +DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" +INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' ) +if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then + fail "传入版本号与实际版本号不一致!" + exit 1 +fi + notice "下载AppImage构建工具 ACTION_MODE:$ACTION_MODE" -if [[ $ACTION_MODE == 'false' ]]; then - appimagetool_host="download.fastgit.org" -else +if [[ $ACTION_MODE == 'true' ]]; then appimagetool_host="github.com" +else + appimagetool_host="download.fastgit.org" fi if [ ! -f "$tmp_dir/appimagetool-x86_64.AppImage" ];then wget "https://$appimagetool_host/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" \ @@ -63,8 +89,6 @@ cd "$app_dir" # appimagetool $app_dir notice "MAKE APPIMAGE" -ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) -ver="${ver//\"/}" -"$tmp_dir/appimagetool-x86_64.AppImage" "$app_dir" "$build_dir/WeChat_Dev_Tools_${ver}_${VERSION}_${ARCH}_${TYPE}.AppImage" +"$tmp_dir/appimagetool-x86_64.AppImage" "$app_dir" "$build_dir/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}.AppImage" rm -rf $app_dir \ No newline at end of file diff --git a/tools/build-deb.sh b/tools/build-deb.sh index 35135c1..64304cb 100755 --- a/tools/build-deb.sh +++ b/tools/build-deb.sh @@ -1,10 +1,20 @@ #!/bin/bash + +# 参数: +# $1 - 版本 v1.05.2203030-2 | continuous + set -e notice() { echo -e "\033[36m $1 \033[0m " } +fail() { + echo -e "\033[41;37m 失败 \033[0m $1" +} + root_dir=$(cd `dirname $0`/.. && pwd -P) +DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) +DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" echo $BUILD_VERSION if [ -z "$BUILD_VERSION" ];then export BUILD_VERSION=$1 @@ -12,6 +22,9 @@ fi if [ -z "$BUILD_VERSION" ];then export BUILD_VERSION='continuous' fi +if [ "$BUILD_VERSION" == "continuous" ];then + export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous" +fi echo $BUILD_VERSION ############ 构建deb包 ################ @@ -20,6 +33,13 @@ echo "root_dir: $root_dir" tmp_dir="$root_dir/tmp" app_dir="$root_dir/tmp/deb" +notice "检查版本号" +INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' ) +if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then + fail "传入版本号与实际版本号不一致!" + exit 1 +fi + # Remove any previous build rm -rf $app_dir # Make usr and icons dirs @@ -34,11 +54,7 @@ cp "$root_dir/bin/wechat-devtools" "$app_dir/opt/wechat-devtools/bin" cp "$root_dir/res/template.desktop" "$app_dir/usr/share/applications/wechat-devtools.desktop" sed -i 's#Icon=dir/res/icons/wechat-devtools.svg#Icon=wechat-devtools#' "$app_dir/usr/share/applications/wechat-devtools.desktop" sed -i "s#dir#/opt/wechat-devtools#" "$app_dir/usr/share/applications/wechat-devtools.desktop" -if [[ ! $BUILD_VERSION -eq 'continuous' ]];then - sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control" -else - sed -i "s/BUILD_VERSION/0/" "$app_dir/DEBIAN/control" -fi +sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control" cp "$root_dir/res/icons/wechat-devtools.svg" "$app_dir/usr/share/icons/wechat-devtools.svg" cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw" @@ -51,6 +67,4 @@ notice "BUILD DEB Package" cd "$root_dir/tmp/deb" ls -l "$root_dir/tmp/deb" mkdir -p "$root_dir/tmp/build" -ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) -ver="${ver//\"/}" -dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${ver}-${BUILD_VERSION}_amd64.deb" +dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64.deb" diff --git a/tools/build-deepin.sh b/tools/build-deepin.sh index 0c9fcd0..35ec441 100755 --- a/tools/build-deepin.sh +++ b/tools/build-deepin.sh @@ -5,6 +5,8 @@ notice() { } root_dir=$(cd `dirname $0`/.. && pwd -P) +DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) +DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" echo $BUILD_VERSION if [ -z "$BUILD_VERSION" ];then export BUILD_VERSION=$1 @@ -12,6 +14,9 @@ fi if [ -z "$BUILD_VERSION" ];then export BUILD_VERSION='continuous' fi +if [ "$BUILD_VERSION" == "continuous" ];then + export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous" +fi echo $BUILD_VERSION ############ 构建deb包 ################ @@ -21,8 +26,6 @@ tmp_dir="$root_dir/tmp" build_dir="$root_dir/tmp/deepin" package_name="io.github.msojocs.wechat-devtools" base_dir="$build_dir/opt/apps/$package_name" -DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) -DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" # Remove any previous build rm -rf $build_dir @@ -34,14 +37,10 @@ mkdir -p $base_dir/files/{bin/bin,doc,lib} notice "COPY Files" cp -r "$root_dir/res/deepin"/* $build_dir +sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/DEBIAN/control" +sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$base_dir/info" \cp -rf "$root_dir/bin/wechat-devtools" "$base_dir/files/bin/bin/wechat-devtools" -if [[ ! $BUILD_VERSION -eq 'continuous' ]];then - sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-${BUILD_VERSION//v/}/" "$build_dir/DEBIAN/control" - sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-${BUILD_VERSION//v/}/" "$base_dir/info" -else - sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-0/" "$build_dir/DEBIAN/control" - sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-0/" "$base_dir/info" -fi + # desktop \cp -rf "$root_dir/res/template.desktop" "$base_dir/entries/applications/wechat-devtools.desktop" sed -i 's#Icon=dir/res/icons/wechat-devtools.svg#Icon=io.github.msojocs.wechat-devtools#' "$base_dir/entries/applications/wechat-devtools.desktop" @@ -59,4 +58,4 @@ notice "BUILD DEB Package" cd "$build_dir" ls -l "$build_dir" mkdir -p "$root_dir/tmp/build" -dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${DEVTOOLS_VERSION}_${BUILD_VERSION}_deepin_amd64.deb" +dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_deepin_amd64.deb" diff --git a/tools/build-release.sh b/tools/build-release.sh index 5d0b09a..4fcec7c 100755 --- a/tools/build-release.sh +++ b/tools/build-release.sh @@ -1,17 +1,20 @@ #!/bin/bash +# 参数: +# $1 - 版本 v1.05.2203030-2 +# $2 - 平台 x86_64 + # 脚本执行前提,已完成支持wine的基本构建 set -e root_dir=$(cd `dirname $0`/.. && pwd -P) tmp_dir="$root_dir/tmp" if [ -z $VERSION ];then - export VERSION=$1 + export VERSION=$2 fi if [ -z $ARCH ];then - export ARCH=$2 + export ARCH=$1 fi - success() { echo -e "\033[42;37m 成功 \033[0m $1" } @@ -23,14 +26,26 @@ fail() { echo -e "\033[41;37m 失败 \033[0m $1" } -if [[ $VERSION == '' ]];then - fail "请指定版本号" - exit 1 -elif [[ $ARCH == '' ]];then +DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) +DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" + +if [[ $VERSION == 'continuous' ]];then + export VERSION="v${DEVTOOLS_VERSION}-continuous" +elif [[ $VERSION == '' ]];then + export VERSION="v${DEVTOOLS_VERSION}-continuous" +fi +if [[ $ARCH == '' ]];then fail "请指定架构" exit 1 fi +notice "检查版本号 -> $VERSION" +INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' ) +if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then + fail "传入版本号与实际版本号不一致!" + exit 1 +fi + for type in wine no_wine; do notice "当前构建类型: $type"; if [[ $type == 'no_wine' ]];then diff --git a/tools/build-tar.sh b/tools/build-tar.sh index e1469f4..b12c618 100755 --- a/tools/build-tar.sh +++ b/tools/build-tar.sh @@ -1,5 +1,10 @@ #!/bin/bash +# 参数: +# $1 - 版本 v1.05.2203030-2 +# $2 - 平台 x86_64 + + # 脚本执行前提,已完成支持wine的基本构建 set -e root_dir=$(cd `dirname $0`/.. && pwd -P) @@ -38,7 +43,17 @@ else TYPE='wine' fi -build_dir="$tmp_dir/tar/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}" +notice "检查版本号" +DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) +DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}" +INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' ) +if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then + fail "传入版本号与实际版本号不一致!" + exit 1 +fi + +PACKAGE_NAME="WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}" +build_dir="$tmp_dir/tar/$PACKAGE_NAME" mkdir -p $build_dir notice "COPY bin" \cp -rf "$root_dir/bin" "$build_dir/bin" @@ -51,7 +66,5 @@ notice "COPY package.nw" \cp -rf "$root_dir/package.nw" "$build_dir/package.nw" notice "MAKE tar.gz" -ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" ) -ver="${ver//\"/}" -cd "$tmp_dir/tar" && tar -zcf "$store_dir/WeChat_Dev_Tools_${ver}_${VERSION}_${ARCH}_${TYPE}.tar.gz" "WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}" +cd "$tmp_dir/tar" && tar -zcf "$store_dir/$PACKAGE_NAME.tar.gz" "$PACKAGE_NAME" rm -rf $build_dir \ No newline at end of file