github.com/kjdelisle/consul@v1.4.5/build-support/scripts/version.sh (about) 1 #!/bin/bash 2 SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})" 3 pushd $(dirname ${BASH_SOURCE[0]}) > /dev/null 4 SCRIPT_DIR=$(pwd) 5 pushd ../.. > /dev/null 6 SOURCE_DIR=$(pwd) 7 popd > /dev/null 8 pushd ../functions > /dev/null 9 FN_DIR=$(pwd) 10 popd > /dev/null 11 popd > /dev/null 12 13 source "${SCRIPT_DIR}/functions.sh" 14 15 function usage { 16 cat <<-EOF 17 Usage: ${SCRIPT_NAME} [<options ...>] 18 19 Description: 20 21 This script is just a convenience around discover what the Consul 22 version would be if you were to build it. 23 24 Options: 25 -s | --source DIR Path to source to build. 26 Defaults to "${SOURCE_DIR}" 27 28 -r | --release Include the release in the version 29 30 -g | --git Take git variables into account 31 32 -h | --help Print this help text. 33 EOF 34 } 35 36 function err_usage { 37 err "$1" 38 err "" 39 err "$(usage)" 40 } 41 42 function main { 43 declare sdir="${SOURCE_DIR}" 44 declare -i release=0 45 declare -i git_info=0 46 47 while test $# -gt 0 48 do 49 case "$1" in 50 -h | --help ) 51 usage 52 return 0 53 ;; 54 -s | --source ) 55 if test -z "$2" 56 then 57 err_usage "ERROR: option -s/--source requires an argument" 58 return 1 59 fi 60 61 if ! test -d "$2" 62 then 63 err_usage "ERROR: '$2' is not a directory and not suitable for the value of -s/--source" 64 return 1 65 fi 66 67 sdir="$2" 68 shift 2 69 ;; 70 -r | --release ) 71 release=1 72 shift 73 ;; 74 -g | --git ) 75 git_info=1 76 shift 77 ;; 78 *) 79 err_usage "ERROR: Unknown argument: '$1'" 80 return 1 81 ;; 82 esac 83 done 84 85 parse_version "${sdir}" "${release}" "${git_info}" || return 1 86 87 return 0 88 } 89 90 main "$@" 91 exit $? 92