xref: /nrf52832-nimble/rt-thread/tools/kconfig-frontends/scripts/version.sh (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero#!/bin/sh
2*10465441SEvalZero
3*10465441SEvalZeroplain=0
4*10465441SEvalZerointernal=0
5*10465441SEvalZerocase "${1}" in
6*10465441SEvalZero    "")         ;;
7*10465441SEvalZero    --plain)    plain=1;;
8*10465441SEvalZero    --internal) internal=1;;
9*10465441SEvalZero    *)          printf "${0##*/}: unknow option '%s'\n" "${1}" >&2; exit 1;;
10*10465441SEvalZeroesac
11*10465441SEvalZeroif [ ${plain} -ne 0 -a ${internal} -ne 0 ]; then
12*10465441SEvalZero    printf "Can't print both plain and internal" >&2
13*10465441SEvalZero    printf " versions at the same time\n" >&2
14*10465441SEvalZero    exit 1
15*10465441SEvalZerofi
16*10465441SEvalZero
17*10465441SEvalZerover_file="${0%/*}/../.version"
18*10465441SEvalZerok_ver="$(  head -n 1 "${ver_file}" |cut -d ' ' -f 1  )"
19*10465441SEvalZerok_cset="$( head -n 1 "${ver_file}" |cut -d ' ' -f 2  )"
20*10465441SEvalZerok_name="$( head -n 1 "${ver_file}" |cut -d ' ' -f 3- )"
21*10465441SEvalZerokf_ver="$( tail -n 1 "${ver_file}"                   )"
22*10465441SEvalZero
23*10465441SEvalZeroif [ ${internal} -ne 0 ]; then
24*10465441SEvalZero    printf "%s\n" "${kf_ver}"
25*10465441SEvalZero    exit 0
26*10465441SEvalZerofi
27*10465441SEvalZero
28*10465441SEvalZerok_ver_plain="$( printf "%s" "${k_ver}"  \
29*10465441SEvalZero                |sed -e 's/-rc.*//;' )"
30*10465441SEvalZero
31*10465441SEvalZerocase "${kf_ver}" in
32*10465441SEvalZero    git) kf_ver="-$( git rev-parse --short HEAD )"
33*10465441SEvalZero         k_ver_extra="$( printf "_%-7.7s" "${k_cset}" )"
34*10465441SEvalZero         ;;
35*10465441SEvalZero    *)   k_ver_extra="";;
36*10465441SEvalZeroesac
37*10465441SEvalZero
38*10465441SEvalZeroif [ "${plain}" -eq 1 ]; then
39*10465441SEvalZero    echo "${k_ver_plain}"
40*10465441SEvalZeroelse
41*10465441SEvalZero    echo "${k_ver}${k_ver_extra}.${kf_ver}"
42*10465441SEvalZerofi
43*10465441SEvalZero
44