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