From d153a6544b36ae1de85edfdaaacff448df65ab5d Mon Sep 17 00:00:00 2001 From: "huangsimin@fusen.cn" Date: Mon, 11 Mar 2024 17:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20update=5Ffspkg=5Fmaster.tp?= =?UTF-8?q?l?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proto_build/tpls/update_fspkg_master.tpl | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/goutils/proto_build/tpls/update_fspkg_master.tpl b/goutils/proto_build/tpls/update_fspkg_master.tpl index 44745e5..8c37152 100644 --- a/goutils/proto_build/tpls/update_fspkg_master.tpl +++ b/goutils/proto_build/tpls/update_fspkg_master.tpl @@ -1,25 +1,38 @@ -#! /bin/bash +#! /bin/env bash input_string=$(cat go.mod) # 使用sed命令提取参数并替换输出格式 output=$(echo "$input_string" | sed -nE 's/[[:space:]]{0,}(replace[[:space:]]+)?([[:alnum:]-]+)[[:space:]]+([[:alnum:].-]+)[[:space:]]+=>[[:space:]]+([[:alnum:]/.-]+)[[:space:]]+([[:alnum:].-]+)/\2 \3 \4 \5/p') +# echo $output +ischange="no" + IFS=$'\n' # 设置分隔符为换行符 for out in $output; do IFS=$' ' read -r fsname fsversion fsfullname fslatest_master <<< "$out" + if [ "$fsname" != "fusen-basic" ]; then + continue + fi + laster_master=`echo $(GOPROXY=direct go get $fsfullname@master 2>&1) | grep -oE '@v[^:"]+'` + if [ "@$fslatest_master" == "$laster_master" ]; then + continue + fi + echo "go mod edit -replace $fsname@$fsversion=$fsfullname$laster_master" go mod edit -replace $fsname@$fsversion=$fsfullname$laster_master + echo "当前 $fsname $fsfullname $fslatest_master (更新)-> $laster_master" + go get $fsname@$fsversion + ischange="yes" done -IFS=$'\n' # 设置分隔符为换行符 -for out in $output; do - IFS=$' ' - read -r fsname fsversion fsfullname fslatest_master <<< "$out" - go get $fsname@$fsversion -done - -go mod tidy -go mod vendor \ No newline at end of file + +if [ "$ischange" == "yes" ]; then + echo "go tidy and vendor" + go mod tidy + go mod vendor +else + echo "$fsname $fslatest_master 当前最新" +fi