fetch_devtools.sh 1.6 KB

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