#1/usr/bin/env bash PROJECT_DIR="" SMITHY_SOURCE_DIR=$(cd `dirname $0` && pwd) usage() { echo "Usage: $0 [-s SMITHY_SOURCE_DIR] [-d PROJECT_DIR]" 1>&2 exit 1 } while getopts "hs:d:" options; do case "${options}" in s) SMITHY_SOURCE_DIR=${OPTARG} if [ "$SMITHY_SOURCE_DIR" == "" ]; then echo "path to smithy-go source directory is required" || exit usage fi ;; d) PROJECT_DIR=${OPTARG} ;; h) usage ;; *) usage ;; esac done if [ "$PROJECT_DIR" != "" ]; then cd $PROJECT_DIR || exit fi go mod graph | awk '{print $1}' | cut -d '@' -f 1 | sort | uniq | grep "github.com/aws/smithy-go" | while read x; do repPath=${x/github.com\/aws\/smithy-go/${SMITHY_SOURCE_DIR}} echo -replace $x=$repPath done | xargs go mod edit