Fangjun Kuang
Committed by GitHub

Refactor release scripts. (#2323)

It refactors the release scripts to centralize and simplify version updates across 
multiple files. Key changes include:

- Introducing variables (old_version, new_version, replace_str) for version substitution.
- Replacing hard-coded sed expressions with dynamic ones in various files.
- Ensuring backup files generated by sed are cleaned up after execution.
正在显示 1 个修改的文件 包含 18 行增加15 行删除
1 #!/usr/bin/env bash 1 #!/usr/bin/env bash
2 2
3 set -ex 3 set -ex
  4 +old_version="1\.12\.2"
  5 +new_version="1\.12\.3"
  6 +replace_str="s/$old_version/$new_version/g"
4 7
5 -sed -i.bak 's/1\.12\.2/1\.12\.3/g' ./sherpa-onnx/csrc/version.cc 8 +sed -i.bak "$replace_str" ./sherpa-onnx/csrc/version.cc
6 sha1=$(git describe --match=NeVeRmAtCh --always --abbrev=8) 9 sha1=$(git describe --match=NeVeRmAtCh --always --abbrev=8)
7 date=$(git log -1 --format=%ad --date=local) 10 date=$(git log -1 --format=%ad --date=local)
8 11
9 sed -i.bak "s/ static const char \*sha1.*/ static const char \*sha1 = \"$sha1\";/g" ./sherpa-onnx/csrc/version.cc 12 sed -i.bak "s/ static const char \*sha1.*/ static const char \*sha1 = \"$sha1\";/g" ./sherpa-onnx/csrc/version.cc
10 sed -i.bak "s/ static const char \*date.*/ static const char \*date = \"$date\";/g" ./sherpa-onnx/csrc/version.cc 13 sed -i.bak "s/ static const char \*date.*/ static const char \*date = \"$date\";/g" ./sherpa-onnx/csrc/version.cc
11 14
12 -sed -i.bak 's/1\.12\.2/1\.12\.3/g' ./build-ios-shared.sh  
13 -sed -i.bak 's/1\.12\.2/1\.12\.3/g' ./pom.xml  
14 -sed -i.bak 's/1\.12\.2/1\.12\.3/g' ./jitpack.yml  
15 -sed -i.bak 's/1\.12\.2/1\.12\.3/g' ./android/SherpaOnnxAar/README.md 15 +sed -i.bak "$replace_str" ./build-ios-shared.sh
  16 +sed -i.bak "$replace_str" ./pom.xml
  17 +sed -i.bak "$replace_str" ./jitpack.yml
  18 +sed -i.bak "$replace_str" ./android/SherpaOnnxAar/README.md
16 19
17 -find android -name build.gradle -type f -exec sed -i.bak 's/sherpa-onnx:v1\.12\.2/sherpa-onnx:v1\.12\.3/g' {} \; 20 +find android -name build.gradle -type f -exec sed -i.bak "s/sherpa-onnx:v$old_version/sherpa-onnx:v$new_version/g" {} \;
18 21
19 -find flutter -name *.yaml -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
20 -find dart-api-examples -name *.yaml -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
21 -find flutter-examples -name *.yaml -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
22 -find flutter -name *.podspec -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
23 -find nodejs-addon-examples -name package.json -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
24 -find nodejs-examples -name package.json -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \; 22 +find flutter -name "*.yaml" -type f -exec sed -i.bak "$replace_str" {} \;
  23 +find dart-api-examples -name "*.yaml" -type f -exec sed -i.bak "$replace_str" {} \;
  24 +find flutter-examples -name "*.yaml" -type f -exec sed -i.bak "$replace_str" {} \;
  25 +find flutter -name "*.podspec" -type f -exec sed -i.bak "$replace_str" {} \;
  26 +find nodejs-addon-examples -name package.json -type f -exec sed -i.bak "$replace_str" {} \;
  27 +find nodejs-examples -name package.json -type f -exec sed -i.bak "$replace_str" {} \;
25 28
26 -find harmony-os -name "README.md" -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \;  
27 -find harmony-os -name oh-package.json5 -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \; 29 +find harmony-os -name "README.md" -type f -exec sed -i.bak "$replace_str" {} \;
  30 +find harmony-os -name oh-package.json5 -type f -exec sed -i.bak "$replace_str" {} \;
28 31
29 -find mfc-examples -name "README.md" -type f -exec sed -i.bak 's/1\.12\.2/1\.12\.3/g' {} \; 32 +find mfc-examples -name "README.md" -type f -exec sed -i.bak "$replace_str" {} \;
30 33
31 find . -name "*.bak" -exec rm {} \; 34 find . -name "*.bak" -exec rm {} \;