From 086aa5d045bdb47c8d5068bbeaaa6a011b224549 Mon Sep 17 00:00:00 2001 From: msojocs Date: Mon, 7 Mar 2022 10:46:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20aur=20=E6=9E=84=E5=BB=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/devtools_v | 2 +- res/aur/PKGBUILD | 2 +- tools/build-aur.sh | 36 +++++++++++++++++-------------- tools/setup-wechat-devtools-bash | 4 +++- tools/update-wechat-devtools-node | 7 ++++-- 5 files changed, 30 insertions(+), 21 deletions(-) diff --git a/conf/devtools_v b/conf/devtools_v index 106282a..f70508f 100644 --- a/conf/devtools_v +++ b/conf/devtools_v @@ -1 +1 @@ -1.05.2203030 \ No newline at end of file +1.05.2203030,63cb0e75df3704e155185d900258ac1e \ No newline at end of file diff --git a/res/aur/PKGBUILD b/res/aur/PKGBUILD index 2a95fc8..dfa63da 100644 --- a/res/aur/PKGBUILD +++ b/res/aur/PKGBUILD @@ -11,7 +11,7 @@ _wechat_devtools_ver="1.05.2203030" # https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=1052203030&version_type=1 _wechat_devtools_url="https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64&from=mpwiki&download_version=${_wechat_devtools_ver//\./}&version_type=1" # _wechat_devtools_url="https://dldir1.qq.com/WechatWebDev/release/p-ae42ee2cde4d42ee80ac60b35f183a99/wechat_devtools_1.05.2201240_x64.exe" -_wechat_devtools_md5="63cb0e75df3704e155185d900258ac1e" +_wechat_devtools_md5="123" _wechat_devtools_exe="wechat_devtools_${_wechat_devtools_ver}_x64.exe" _nwjs_ver="0.53.1" diff --git a/tools/build-aur.sh b/tools/build-aur.sh index 0ee931c..40ef093 100755 --- a/tools/build-aur.sh +++ b/tools/build-aur.sh @@ -1,5 +1,5 @@ #!/bin/bash - +set -e notice() { echo -e "\033[36m $1 \033[0m " } @@ -7,14 +7,14 @@ fail() { echo -e "\033[41;37m 失败 \033[0m $1" } - root_dir=$(cd `dirname $0`/.. && pwd -P) tmp_dir="$root_dir/tmp" build_dir="$root_dir/tmp/AUR" -# 没有预构建,获取不到 -# 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//\"/}" +VERSION_DATA=$( cat "$root_dir/conf/devtools_v" ) +VERSION_DATA=(${VERSION_DATA//,/ }) +TARGET_VERSION=${VERSION_DATA[0]} +TARGET_VERSION_MD5=${VERSION_DATA[1]} if [ -n "$1" ];then export BUILD_VERSION=$1 @@ -25,13 +25,25 @@ fi echo "BUILD_VERSION: $BUILD_VERSION" # 及时构建修订版本号为0 if [ "$BUILD_VERSION" == "continuous" ];then - # export BUILD_VERSION="v${DEVTOOLS_VERSION}-0" pkgrel='0' else # 提取BUILD_VERSION中的修订版本号 pkgrel=$( echo $BUILD_VERSION | sed -r 's/v[0-9]+\.[0-9]+\.[0-9]+-(.*)/\1/' ) fi +# 非及时构建 +if [ "$BUILD_VERSION" != "continuous" ];then + notice "检查版本号 -> $BUILD_VERSION" + VERSION_DATA=$( cat "$root_dir/conf/devtools_v" ) + VERSION_DATA=(${VERSION_DATA//,/ }) + DEVTOOLS_VERSION=${VERSION_DATA[0]} + INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' ) + if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then + fail "传入版本号与实际版本号不一致!" + exit 1 + fi +fi + rm -rf $build_dir mkdir -p $build_dir cp "$root_dir/tools"/*.sh "$build_dir" @@ -39,16 +51,8 @@ cp "$root_dir/tools"/*.js "$build_dir" cp "$root_dir/res/aur"/* "$build_dir" sed -i 's/download.fastgit.org/github.com/' "$build_dir/PKGBUILD" sed -i "s/pkgrel=[0-9]\+/pkgrel=${pkgrel}/" "$build_dir/PKGBUILD" - -if [ "$BUILD_VERSION" != "continuous" ];then - notice "检查版本号 -> $BUILD_VERSION" - CONFIG_VERSION=$( cat "$build_dir/PKGBUILD" | grep -m 1 -Eo "[0-9]{1}\.[0-9]{2}\.[0-9]+" ) - INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' ) - if [[ "$INPUT_VERSION" != "$CONFIG_VERSION" ]];then - fail "传入版本号与实际版本号不一致!" - exit 1 - fi -fi +sed -i "s/_wechat_devtools_ver=\"[0-9]\+\.[0-9]\+\.[0-9]\+\"/_wechat_devtools_ver=\"${TARGET_VERSION}\"/" "$build_dir/PKGBUILD" +sed -i "s/_wechat_devtools_md5=\".*\+\"/_wechat_devtools_md5=\"${TARGET_VERSION_MD5}\"/" "$build_dir/PKGBUILD" cd $build_dir # makepkg \ No newline at end of file diff --git a/tools/setup-wechat-devtools-bash b/tools/setup-wechat-devtools-bash index 02d7104..d5eac9a 100755 --- a/tools/setup-wechat-devtools-bash +++ b/tools/setup-wechat-devtools-bash @@ -68,7 +68,9 @@ if [[ $@ == *version* ]];then else # 参数没有版本号,获取 echo "参数没有版本号" - TARGET_VERSION="version="$( cat "$root_dir/conf/devtools_v") + VERSION_DATA=$( cat "$root_dir/conf/devtools_v" ) + VERSION_DATA=(${VERSION_DATA//,/ }) + TARGET_VERSION=${VERSION_DATA[0]} fi echo "TARGET_VERSION: $TARGET_VERSION" if [ ! -f "$root_dir/package.nw/package.json" ];then diff --git a/tools/update-wechat-devtools-node b/tools/update-wechat-devtools-node index 310528a..1277fde 100755 --- a/tools/update-wechat-devtools-node +++ b/tools/update-wechat-devtools-node @@ -1,6 +1,6 @@ #!/usr/bin/env node -const { execSync, exec, spawn } = require("child_process"); +const { execSync, spawn } = require("child_process"); const https = require("https"); const fs = require("fs"); const path = require("path"); @@ -36,6 +36,7 @@ const url = urls[branch]; // https://dldir1.qq.com/WechatWebDev/nightly/p-7aa88fbb60d64e4a96fac38999591e31/wechat_devtools_1.02.2001202_x64.exe let version = args.version; +let md5; const packageDir = "code/package.nw"; @@ -118,6 +119,8 @@ const download = function (url) { __dirname, util.format("../cache/wechat_devtools_%s_x64.exe", version) ); + let headers = execSync(`curl -IL "${url}"`).toString() + md5 = headers.match(/X-COS-META-MD5: (.*?)\r/)[1] if (fs.existsSync(localPath)) { resolve(localPath); @@ -339,7 +342,7 @@ const start = async () => { // 写入版本 fs.writeFileSync( path.resolve(__dirname, "../conf/devtools_v"), - version + `${version},${md5}` ) console.log( `Succeeded upgrading wechat-devtools to version ${version}`