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"