build/set-version.sh
author ymh <ymh.work@gmail.com>
Wed, 19 Oct 2016 00:31:18 +0200
changeset 368 5f79f31ca9a2
parent 365 f7f033738af4
child 392 4fbe94af93e8
permissions -rwxr-xr-x
Add some doc. Improve auto documentation of build script
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/env bash
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
set -e
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
368
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
     5
function usage() {
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
     6
    cat <<EOF
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
     7
Usage: $0 "x.y.z"
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
     8
    "x.y.z": version number, following the semver convention
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
     9
EOF
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    10
}
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    11
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    12
if [ $# -ne 1 ]; then
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    13
    echo "Bad number of parameters"
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    14
    usage >&2
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    15
    exit 1
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    16
fi
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    17
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    18
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    19
    usage
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    20
    exit 0
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    21
fi
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    22
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
version=$1
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
368
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    25
echo "Version: ${version}"
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    26
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    27
[[ "${version}" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ ]] || {
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    28
    echo "Bad format for version."
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    29
    usage >&2
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    30
    exit 1
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    31
}
5f79f31ca9a2 Add some doc. Improve auto documentation of build script
ymh <ymh.work@gmail.com>
parents: 365
diff changeset
    32
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
green="\x1B[0;32m" # '\e[1;32m' is too bright for white bg.
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
blue="\x1B[1;34m"
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
endColor="\x1B[0m"
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
function echoblue() {
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    echo -e "${blue}$1${endColor}"
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
}
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
pushd "$DIR"
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
pushd ../server/bo_client
365
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    45
echoblue "Setting bo_client version"
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    46
/usr/local/bin/npm run set-version -- "$version"
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
popd
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
pushd ../server/src
365
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    50
echoblue "Setting back version"
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
sed -i "" -e "s/\([:space:]*\'version\'[[:space:]]*\=\>[[:space:]]*\'\)[\.0-9]*\(\'.*\)/\1${version}\2/" config/version.php
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
popd
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
pushd ../cms
365
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    55
echoblue "Setting cms version"
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    56
/usr/local/bin/npm run set-version -- "$version"
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
popd
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
pushd ../cms/app-client
365
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    60
echoblue "Setting app-client version"
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    61
/usr/local/bin/npm run set-version -- "$version"
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
popd
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
365
f7f033738af4 Correct set version
ymh <ymh.work@gmail.com>
parents: 364
diff changeset
    64
echoblue "Version has been changed, please commit and push if necessary."
364
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
d065d3307805 add script to globally set version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
popd