forked from alibaba/fastjson2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbump_fastjson2_version
executable file
·69 lines (55 loc) · 1.52 KB
/
bump_fastjson2_version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
set -eEuo pipefail
################################################################################
# util functions
################################################################################
# NOTE: $'foo' is the escape sequence syntax of bash
readonly ec=$'\033' # escape char
readonly eend=$'\033[0m' # escape end
readonly nl=$'\n' # new line
colorEcho() {
local color=$1
shift
# if stdout is the console, turn on color output.
[ -t 1 ] && echo "${ec}[1;${color}m$*${eend}" || echo "$*"
}
redEcho() {
colorEcho 31 "$@"
}
yellowEcho() {
colorEcho 33 "$@"
}
blueEcho() {
colorEcho 36 "$@"
}
logAndRun() {
local simple_mode=false
[ "$1" = "-s" ] && {
simple_mode=true
shift
}
if $simple_mode; then
echo "Run under work directory $PWD : $*"
"$@"
else
blueEcho "Run under work directory $PWD :$nl$*"
time "$@"
fi
}
die() {
redEcho "Error: $*" 1>&2
exit 1
}
################################################################################
# biz logic
################################################################################
# shellcheck disable=SC2154
[ $# -ne 1 ] && die "need only 1 argument for version!$nl${nl}usage:$nl $0 1.x.y"
readonly bump_version="$1"
# adjust current dir to project root dir
cd "$(dirname "$(readlink -f "$0")")/.."
# bump pom version
./mvnw \
org.codehaus.mojo:versions-maven-plugin:2.10.0:set \
-DgenerateBackupPoms=false \
-DnewVersion="$bump_version"