scripts: use glide in updatedep.sh

release-3.1
Gyu-Ho Lee 2016-08-15 12:11:45 -07:00
parent b207dd095c
commit ddf65421e7
1 changed files with 50 additions and 6 deletions

View File

@ -2,11 +2,55 @@
# 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
rm -rf Godeps vendor
ln -s cmd/vendor vendor
godep save ./...
rm -rf cmd/Godeps
rm vendor
mv Godeps cmd/
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
go get -v -u github.com/Masterminds/glide
go get -v -u github.com/sgotti/glide-vc
GLIDE_ROOT=$GOPATH/src/github.com/Masterminds/glide
GLIDE_SHA=3e49dce57f4a3a1e9bc55475065235766000d2f0
pushd "${GLIDE_ROOT}"
git reset --hard ${GLIDE_SHA}
go install
popd
if [ -n "$1" ]; then
echo "glide get on $(echo $1)"
glide --verbose get --strip-vendor --strip-vcs --update-vendored --skip-test $1
else
echo "glide update on *"
glide --verbose update --delete --strip-vendor --strip-vcs --update-vendored --skip-test
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"