Jonatan Antoni | 2d17771 | 2022-04-06 17:59:41 +0200 | [diff] [blame^] | 1 | #!/bin/bash |
| 2 | |
| 3 | PACKCHK_VERSION=1.3.95 |
| 4 | SVDCONV_VERSION=3.3.41 |
| 5 | |
| 6 | REPO_URL=https://github.com/Open-CMSIS-Pack/devtools |
| 7 | DOWNLOAD_URL=${REPO_URL}/releases/download/ |
| 8 | DIRNAME=$(dirname $0) |
| 9 | |
| 10 | set -o pipefail |
| 11 | |
| 12 | function usage { |
| 13 | echo "$(basename $0) [-h|--help] [-f|--force]" |
| 14 | echo "" |
| 15 | echo "Arguments:" |
| 16 | echo " -h|--help Print this usage message and exit." |
| 17 | echo " -f|--force Force (re)download." |
| 18 | echo "" |
| 19 | echo "Environment:" |
| 20 | echo " curl" |
| 21 | echo " sha256sum" |
| 22 | echo "" |
| 23 | } |
| 24 | |
| 25 | function fetch { |
| 26 | mkdir -p ${DIRNAME}/$2 |
| 27 | pushd ${DIRNAME}/$2 >/dev/null |
| 28 | curl -O -L $1 |
| 29 | unzip -o $(basename $1) |
| 30 | rm $(basename $1) |
| 31 | popd >/dev/null |
| 32 | } |
| 33 | |
| 34 | POSITIONAL=() |
| 35 | while [[ $# -gt 0 ]] |
| 36 | do |
| 37 | key="$1" |
| 38 | |
| 39 | case $key in |
| 40 | '-h'|'--help') |
| 41 | usage |
| 42 | exit 1 |
| 43 | ;; |
| 44 | '-f'|'--force') |
| 45 | FORCE=1 |
| 46 | ;; |
| 47 | *) # unknown option |
| 48 | POSITIONAL+=("$1") # save it in an array for later |
| 49 | ;; |
| 50 | esac |
| 51 | shift # past argument |
| 52 | done |
| 53 | set -- "${POSITIONAL[@]}" # restore positional parameters |
| 54 | |
| 55 | fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-darwin64.zip" Darwin64 |
| 56 | fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-linux64.zip" Linux64 |
| 57 | fetch "${DOWNLOAD_URL}/tools%2Fpackchk%2F${PACKCHK_VERSION}/packchk-${PACKCHK_VERSION}-windows64.zip" Win32 |
| 58 | |
| 59 | fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-darwin64.zip" Darwin64 |
| 60 | fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-linux64.zip" Linux64 |
| 61 | fetch "${DOWNLOAD_URL}/tools%2Fsvdconv%2F${SVDCONV_VERSION}/svdconv-${SVDCONV_VERSION}-windows64.zip" Win32 |
| 62 | |
| 63 | exit 0 |