Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
| ... | ... |
@@ -1,54 +1,52 @@ |
| 1 | 1 |
#!/bin/bash |
| 2 |
+set -e |
|
| 2 | 3 |
|
| 3 |
-# Downloads dependencies into vendor/ directory |
|
| 4 |
-if [[ ! -d vendor ]]; then |
|
| 5 |
- mkdir vendor |
|
| 6 |
-fi |
|
| 7 |
-vendor_dir=${PWD}/vendor
|
|
| 8 |
- |
|
| 9 |
-rm_pkg_dir () {
|
|
| 10 |
- PKG=$1 |
|
| 11 |
- REV=$2 |
|
| 12 |
- ( |
|
| 13 |
- set -e |
|
| 14 |
- cd $vendor_dir |
|
| 15 |
- if [[ -d src/$PKG ]]; then |
|
| 16 |
- echo "src/$PKG already exists. Removing." |
|
| 17 |
- rm -fr src/$PKG |
|
| 18 |
- fi |
|
| 19 |
- ) |
|
| 20 |
-} |
|
| 4 |
+cd "$(dirname "$BASH_SOURCE")/.." |
|
| 21 | 5 |
|
| 22 |
-git_clone () {
|
|
| 23 |
- PKG=$1 |
|
| 24 |
- REV=$2 |
|
| 25 |
- ( |
|
| 26 |
- set -e |
|
| 27 |
- rm_pkg_dir $PKG $REV |
|
| 28 |
- cd $vendor_dir && git clone http://$PKG src/$PKG |
|
| 29 |
- cd src/$PKG && git checkout -f $REV && rm -fr .git |
|
| 30 |
- ) |
|
| 31 |
-} |
|
| 32 |
- |
|
| 33 |
-hg_clone () {
|
|
| 34 |
- PKG=$1 |
|
| 35 |
- REV=$2 |
|
| 36 |
- ( |
|
| 37 |
- set -e |
|
| 38 |
- rm_pkg_dir $PKG $REV |
|
| 39 |
- cd $vendor_dir && hg clone http://$PKG src/$PKG |
|
| 40 |
- cd src/$PKG && hg checkout -r $REV && rm -fr .hg |
|
| 41 |
- ) |
|
| 6 |
+# Downloads dependencies into vendor/ directory |
|
| 7 |
+mkdir -p vendor |
|
| 8 |
+cd vendor |
|
| 9 |
+ |
|
| 10 |
+clone() {
|
|
| 11 |
+ vcs=$1 |
|
| 12 |
+ pkg=$2 |
|
| 13 |
+ rev=$3 |
|
| 14 |
+ |
|
| 15 |
+ pkg_url=https://$pkg |
|
| 16 |
+ target_dir=src/$pkg |
|
| 17 |
+ |
|
| 18 |
+ echo -n "$pkg @ $rev: " |
|
| 19 |
+ |
|
| 20 |
+ if [ -d $target_dir ]; then |
|
| 21 |
+ echo -n 'rm old, ' |
|
| 22 |
+ rm -fr $target_dir |
|
| 23 |
+ fi |
|
| 24 |
+ |
|
| 25 |
+ echo -n 'clone, ' |
|
| 26 |
+ case $vcs in |
|
| 27 |
+ git) |
|
| 28 |
+ git clone --quiet --no-checkout $pkg_url $target_dir |
|
| 29 |
+ ( cd $target_dir && git reset --quiet --hard $rev ) |
|
| 30 |
+ ;; |
|
| 31 |
+ hg) |
|
| 32 |
+ hg clone --quiet --updaterev $rev $pkg_url $target_dir |
|
| 33 |
+ ;; |
|
| 34 |
+ esac |
|
| 35 |
+ |
|
| 36 |
+ echo -n 'rm VCS, ' |
|
| 37 |
+ ( cd $target_dir && rm -rf .{git,hg} )
|
|
| 38 |
+ |
|
| 39 |
+ echo done |
|
| 42 | 40 |
} |
| 43 | 41 |
|
| 44 |
-git_clone github.com/kr/pty 3b1f6487b |
|
| 42 |
+clone git github.com/kr/pty 3b1f6487b |
|
| 45 | 43 |
|
| 46 |
-git_clone github.com/gorilla/context/ 708054d61e5 |
|
| 44 |
+clone git github.com/gorilla/context 708054d61e5 |
|
| 47 | 45 |
|
| 48 |
-git_clone github.com/gorilla/mux/ 9b36453141c |
|
| 46 |
+clone git github.com/gorilla/mux 9b36453141c |
|
| 49 | 47 |
|
| 50 |
-git_clone github.com/syndtr/gocapability 3454319be2 |
|
| 48 |
+clone git github.com/syndtr/gocapability 3454319be2 |
|
| 51 | 49 |
|
| 52 |
-hg_clone code.google.com/p/go.net 84a4013f96e0 |
|
| 50 |
+clone hg code.google.com/p/go.net 84a4013f96e0 |
|
| 53 | 51 |
|
| 54 |
-hg_clone code.google.com/p/gosqlite 74691fb6f837 |
|
| 52 |
+clone hg code.google.com/p/gosqlite 74691fb6f837 |