mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
b919dee834
Previously, we've taken advantage of the fact that libcontainer's `update-vendor.sh` is the same syntax as Docker's `vendor.sh` with some shell magic. This changes that to copy libcontainer's dependencies into this file explicitly so that we can scale to more projects with varying methods of vendoring (assuming they don't use import re-writing, which screws up everyone). We'll need to stay diligent in making sure this list matches what's in libcontainer's `update-vendor.sh` (minus the not-required codegangsta/cli dep), but that's a fair trade-off for being able to scale our dependency model better (and track new discrete dependencies more directly). Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
71 lines
2 KiB
Bash
Executable file
71 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
cd "$(dirname "$BASH_SOURCE")/.."
|
|
|
|
# Downloads dependencies into vendor/ directory
|
|
mkdir -p vendor
|
|
cd vendor
|
|
|
|
clone() {
|
|
vcs=$1
|
|
pkg=$2
|
|
rev=$3
|
|
|
|
pkg_url=https://$pkg
|
|
target_dir=src/$pkg
|
|
|
|
echo -n "$pkg @ $rev: "
|
|
|
|
if [ -d $target_dir ]; then
|
|
echo -n 'rm old, '
|
|
rm -fr $target_dir
|
|
fi
|
|
|
|
echo -n 'clone, '
|
|
case $vcs in
|
|
git)
|
|
git clone --quiet --no-checkout $pkg_url $target_dir
|
|
( cd $target_dir && git reset --quiet --hard $rev )
|
|
;;
|
|
hg)
|
|
hg clone --quiet --updaterev $rev $pkg_url $target_dir
|
|
;;
|
|
esac
|
|
|
|
echo -n 'rm VCS, '
|
|
( cd $target_dir && rm -rf .{git,hg} )
|
|
|
|
echo -n 'rm vendor, '
|
|
( cd $target_dir && rm -rf vendor Godeps/_workspace )
|
|
|
|
echo done
|
|
}
|
|
|
|
# the following lines are in sorted order, FYI
|
|
clone git github.com/Sirupsen/logrus v0.7.3 # logrus is a common dependency among multiple deps
|
|
clone git github.com/docker/libtrust 230dfd18c232
|
|
clone git github.com/go-check/check 64131543e7896d5bcc6bd5a76287eb75ea96c673
|
|
clone git github.com/go-fsnotify/fsnotify v1.2.0
|
|
clone git github.com/gorilla/context 14f550f51a
|
|
clone git github.com/gorilla/mux e444e69cbd
|
|
clone git github.com/kr/pty 05017fcccf
|
|
clone git github.com/tchap/go-patricia v2.1.0
|
|
clone hg code.google.com/p/go.net 84a4013f96e0
|
|
clone hg code.google.com/p/gosqlite 74691fb6f837
|
|
|
|
# get distribution packages
|
|
clone git github.com/docker/distribution d957768537c5af40e4f4cd96871f7b2bde9e2923
|
|
mv src/github.com/docker/distribution/digest tmp-digest
|
|
mv src/github.com/docker/distribution/registry/api tmp-api
|
|
rm -rf src/github.com/docker/distribution
|
|
mkdir -p src/github.com/docker/distribution
|
|
mv tmp-digest src/github.com/docker/distribution/digest
|
|
mkdir -p src/github.com/docker/distribution/registry
|
|
mv tmp-api src/github.com/docker/distribution/registry/api
|
|
|
|
clone git github.com/docker/libcontainer 90f8aa670f1f424041059060c7c63fe4dee2e441
|
|
# libcontainer deps (see src/github.com/docker/libcontainer/update-vendor.sh)
|
|
clone git github.com/coreos/go-systemd v2
|
|
clone git github.com/godbus/dbus v2
|
|
clone git github.com/syndtr/gocapability 8e4cdcb
|