File: nextversion.sh

package info (click to toggle)
notion 4.0.2%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 4,676 kB
  • sloc: ansic: 47,508; sh: 2,096; makefile: 603; perl: 270
file content (44 lines) | stat: -rwxr-xr-x 784 bytes parent folder | download | duplicates (3)
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
#!/usr/bin/env bash

function usage {
    echo "Usage: $0 [major|minor|patch]"
    echo "     defaults to patch"
}


CURRENT_VERSION=$(git describe | cut -d- -f1)

if [[ ! $CURRENT_VERSION =~ ^[1-9][0-9]?\.[0-9]+\.[0-9]+$ ]]; then
  (
    echo "Error: '${CURRENT_VERSION}' is not a valid version format";
    echo "";
    usage
  ) 1>&2
  exit 1
fi

CV=( ${CURRENT_VERSION//./ } )

ARG=${1:-patch}
if [[ "${ARG}" == "major"* ]]; then
    ((CV[0]++))
    CV[1]=0
    CV[2]=0
elif [[ "${ARG}" == "minor"* ]]; then
    ((CV[0]+=0))
    ((CV[1]++))
    CV[2]=0
elif [[ "${ARG}" == "patch"* ]]; then
    ((CV[0]+=0))
    ((CV[1]+=0))
    ((CV[2]++))
else
    (
      echo "Unknown argument '${ARG}'";
      echo "";
      usage;
    ) 1>&2
    exit 1
fi

echo "${CV[0]}.${CV[1]}.${CV[2]}"