allow vendoring of test packages

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
This commit is contained in:
Jessica Frazelle
2015-09-10 19:21:46 -07:00
parent bb1996ab8f
commit 1ca88b2ca6
2 changed files with 18 additions and 115 deletions
+18 -7
View File
@@ -1,11 +1,13 @@
#!/usr/bin/env bash
PROJECT=github.com/docker/docker
# Downloads dependencies into vendor/ directory
mkdir -p vendor
rm -rf .gopath
mkdir -p .gopath/src/github.com/docker
ln -sf ../../../.. .gopath/src/github.com/docker/docker
ln -sf ../../../.. .gopath/src/${PROJECT}
export GOPATH="${PWD}/.gopath:${PWD}/vendor"
clone() {
@@ -65,11 +67,10 @@ _dockerfile_env() {
clean() {
local packages=(
github.com/docker/docker/docker # package main
github.com/docker/docker/dockerinit # package main
github.com/docker/docker/integration-cli # external tests
"${PROJECT}/docker" # package main
"${PROJECT}/dockerinit" # package main
"${PROJECT}/integration-cli" # external tests
)
local dockerPlatforms=( linux/amd64 $(_dockerfile_env DOCKER_CROSSPLATFORMS) )
local dockerBuildTags="$(_dockerfile_env DOCKER_BUILDTAGS)"
local buildTagCombos=(
@@ -87,14 +88,24 @@ clean() {
echo -n 'collecting import graph, '
local IFS=$'\n'
local imports=( $(
packages+=( $(
for platform in "${dockerPlatforms[@]}"; do
export GOOS="${platform%/*}";
export GOARCH="${platform##*/}";
for buildTags in "${buildTagCombos[@]}"; do
go list -e -tags "$buildTags" -f '{{join .Deps "\n"}}' "${packages[@]}"
done
done | grep -vE '^github.com/docker/docker' | sort -u
done | grep -E "^${PROJECT}" | grep -vE "^${PROJECT}/vendor" | sort -u
) )
local imports=( $(
for platform in "${dockerPlatforms[@]}"; do
export GOOS="${platform%/*}";
export GOARCH="${platform##*/}";
for buildTags in "${buildTagCombos[@]}"; do
go list -e -tags "$buildTags" -f '{{join .Deps "\n"}}' "${packages[@]}"
go list -e -tags "$buildTags" -f '{{join .TestImports "\n"}}' "${packages[@]}"
done
done | grep -vE '^${PROJECT}' | sort -u
) )
imports=( $(go list -e -f '{{if not .Standard}}{{.ImportPath}}{{end}}' "${imports[@]}") )
unset IFS