123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/usr/bin/env bash
- # A script for updating godep dependencies for the vendored directory /cmd/
- # without pulling in etcd itself as a dependency.
- #
- # update depedency
- # 1. edit glide.yaml with version, git SHA
- # 2. run ./scripts/updatedep.sh
- # 3. it automatically detects new git SHA, and vendors updates to cmd/vendor directory
- #
- # add depedency
- # 1. run ./scripts/updatedep.sh github.com/USER/PROJECT#^1.0.0
- # OR
- # ./scripts/updatedep.sh github.com/USER/PROJECT#9b772b54b3bf0be1eec083c9669766a56332559a
- # 2. make sure glide.yaml and glide.lock are updated
- if ! [[ "$0" =~ "scripts/updatedep.sh" ]]; then
- echo "must be run from repository root"
- exit 255
- fi
- rm -rf vendor
- mv cmd/vendor vendor
- # TODO: glide doesn't play well with symlink
- echo "manually deleting etcd-repo symlink in vendor"
- rm -f vendor/github.com/coreos/etcd
- GLIDE_ROOT="$GOPATH/src/github.com/Masterminds/glide"
- GLIDE_SHA=21ff6d397ccca910873d8eaabab6a941c364cc70
- go get -d -u github.com/Masterminds/glide
- pushd "${GLIDE_ROOT}"
- git reset --hard ${GLIDE_SHA}
- go install
- popd
- GLIDE_VC_ROOT="$GOPATH/src/github.com/sgotti/glide-vc"
- GLIDE_VC_SHA=d96375d23c85287e80296cdf48f9d21c227fa40a
- go get -d -u github.com/sgotti/glide-vc
- pushd "${GLIDE_VC_ROOT}"
- git reset --hard ${GLIDE_VC_SHA}
- go install
- popd
- if [ -n "$1" ]; then
- echo "glide get on $1"
- matches=`grep "name: $1" glide.lock`
- if [ ! -z "$matches" ]; then
- echo "glide update on $1"
- glide update --strip-vendor $1
- else
- echo "glide get on $1"
- glide get --strip-vendor $1
- fi
- else
- echo "glide update on *"
- glide update --strip-vendor
- fi;
- echo "removing test files"
- glide vc --only-code --no-tests
- mv vendor cmd/
- echo "recreating symlink to etcd"
- ln -s ../../../../ cmd/vendor/github.com/coreos/etcd
- echo "done"
|