File tree Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -eEuo pipefail
3+
4+ # ###############################################################################
5+ # util functions
6+ # ###############################################################################
7+
8+ # NOTE: $'foo' is the escape sequence syntax of bash
9+ readonly ec=$' \033 ' # escape char
10+ readonly eend=$' \033 [0m' # escape end
11+ readonly nl=$' \n ' # new line
12+
13+ colorEcho () {
14+ local color=$1
15+ shift
16+
17+ # if stdout is the console, turn on color output.
18+ [ -t 1 ] && echo " ${ec} [1;${color} m$* ${eend} " || echo " $* "
19+ }
20+
21+ redEcho () {
22+ colorEcho 31 " $@ "
23+ }
24+
25+ yellowEcho () {
26+ colorEcho 33 " $@ "
27+ }
28+
29+ blueEcho () {
30+ colorEcho 36 " $@ "
31+ }
32+
33+ logAndRun () {
34+ local simple_mode=false
35+ [ " $1 " = " -s" ] && {
36+ simple_mode=true
37+ shift
38+ }
39+
40+ if $simple_mode ; then
41+ echo " Run under work directory $PWD : $* "
42+ " $@ "
43+ else
44+ blueEcho " Run under work directory $PWD :$nl $* "
45+ time " $@ "
46+ fi
47+ }
48+
49+ die () {
50+ redEcho " Error: $* " 1>&2
51+ exit 1
52+ }
53+
54+ # ###############################################################################
55+ # biz logic
56+ # ###############################################################################
57+
58+ [ $# -ne 1 ] && die " need only 1 argument for version!$nl ${nl} usage:$nl $0 2.x.y"
59+ readonly bump_version=" $1 "
60+
61+ # adjust current dir to project dir
62+ cd " $( dirname " $( readlink -f " $0 " ) " ) /.."
63+
64+ script_files=$(
65+ find bin legacy-bin -type f
66+ )
67+
68+ # shellcheck disable=SC2086
69+ logAndRun sed -ri \
70+ ' s/^(.*PROG_VERSION\s*=\s*)' \' ' (.*)' \' ' (.*)$/\1' \' " $bump_version " \' ' \3/' \
71+ $script_files
You can’t perform that action at this time.
0 commit comments