github.com/whamcloud/lemur@v0.0.0-20190827193804-4655df8a52af/create-protex-scantree.sh (about) 1 #!/bin/bash 2 3 EXCLUDES="golang.org/x github.com/mjmac/go-ps github.com/stathat github.com/urfave github.com/DATA-DOG/godog" # stuff that isn't really 3rd-party, or is test-only 4 SCANDIR=${SCANDIR:-$(mktemp -d)} 5 6 imports=$(go list -f '{{.Deps}}' ./... | \ 7 tr "[" " " | tr "]" " " | \ 8 xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' | \ 9 sort | uniq) 10 11 for import in $imports; do 12 dest=$SCANDIR/$(dirname $import) 13 if [[ $import == *yaml.v2* ]]; then 14 dest=$SCANDIR/$import 15 fi 16 for excl in $EXCLUDES; do 17 if [[ $import == *$excl* ]]; then 18 echo "Skipping $import (matches $excl)." 19 continue 2 20 fi 21 done 22 23 mkdir -p $dest 24 echo -n "Copying $import -> $dest... " 25 cp -a $GOPATH/src/$import $dest 26 echo Done. 27 done 28 29 echo "SCANDIR: $SCANDIR"