local-mod-replace.sh 780 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env bash
  2. PROJECT_DIR=""
  3. SDK_SOURCE_DIR=$(cd `dirname $0` && pwd)
  4. usage() {
  5. echo "Usage: $0 [-s SDK_SOURCE_DIR] [-d PROJECT_DIR]" 1>&2
  6. exit 1
  7. }
  8. while getopts "hs:d:" options; do
  9. case "${options}" in
  10. s)
  11. SDK_SOURCE_DIR=${OPTARG}
  12. if [ "$SDK_SOURCE_DIR" == "" ]; then
  13. echo "path to SDK source directory is required" || exit
  14. usage
  15. fi
  16. ;;
  17. d)
  18. PROJECT_DIR=${OPTARG}
  19. ;;
  20. h)
  21. usage
  22. ;;
  23. *)
  24. usage
  25. ;;
  26. esac
  27. done
  28. if [ "$PROJECT_DIR" != "" ]; then
  29. cd "$PROJECT_DIR" || exit
  30. fi
  31. go mod graph | awk '{print $1}' | cut -d '@' -f 1 | sort | uniq | grep "github.com/aws/aws-sdk-go-v2" | while read x; do
  32. repPath=${x/github.com\/aws\/aws-sdk-go-v2/${SDK_SOURCE_DIR}}
  33. echo -replace $x=$repPath
  34. done | xargs go mod edit