41 lines
847 B
Bash
Executable File
41 lines
847 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
BASE_FILE="$ROOT_DIR/VERSION_BASE"
|
|
SEQ_FILE="$ROOT_DIR/BUILD_SEQ"
|
|
VER_FILE="$ROOT_DIR/VERSION"
|
|
|
|
# 初始化基础版本
|
|
if [[ ! -f "$BASE_FILE" ]]; then
|
|
if [[ -f "$VER_FILE" ]]; then
|
|
cur="$(tr -d ' \n\r\t' < "$VER_FILE")"
|
|
# 取 +build 之前的基础版本
|
|
base="${cur%%+build.*}"
|
|
[[ -z "$base" ]] && base="0.1.0"
|
|
echo "$base" > "$BASE_FILE"
|
|
else
|
|
echo "0.1.0" > "$BASE_FILE"
|
|
fi
|
|
fi
|
|
|
|
# 初始化构建序号
|
|
if [[ ! -f "$SEQ_FILE" ]]; then
|
|
echo "0" > "$SEQ_FILE"
|
|
fi
|
|
|
|
base="$(tr -d ' \n\r\t' < "$BASE_FILE")"
|
|
seq="$(tr -d ' \n\r\t' < "$SEQ_FILE")"
|
|
|
|
if ! [[ "$seq" =~ ^[0-9]+$ ]]; then
|
|
seq=0
|
|
fi
|
|
|
|
seq=$((seq + 1))
|
|
new_ver="${base}+build.${seq}"
|
|
|
|
echo "$seq" > "$SEQ_FILE"
|
|
echo "$new_ver" > "$VER_FILE"
|
|
|
|
echo "$new_ver"
|