18e436
#!/usr/bin/env bash
18e436
set -e
18e436
18e436
if [ "$(uname)" == "Darwin" ]; then
18e436
	export GOOS=linux
18e436
fi
18e436
18e436
ORG_PATH="github.com/containernetworking"
18e436
export REPO_PATH="${ORG_PATH}/plugins"
18e436
18e436
if [ ! -h gopath/src/${REPO_PATH} ]; then
18e436
	mkdir -p gopath/src/${ORG_PATH}
18e436
	ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255
18e436
fi
18e436
18e436
export GO15VENDOREXPERIMENT=1
18e436
export GOPATH=${PWD}/gopath
18e436
18e436
mkdir -p "${PWD}/bin"
18e436
18e436
echo "Building plugins"
18e436
PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample"
18e436
export GOBUILDFLAGS="${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')"
18e436
for d in $PLUGINS; do
18e436
	if [ -d "$d" ]; then
18e436
		plugin="$(basename "$d")"
18e436
		echo "  $plugin"
18e436
		# use go install so we don't duplicate work
18e436
		if [ -n "$FASTBUILD" ]
18e436
		then
18e436
			GOBIN=${PWD}/bin go install -pkgdir $GOPATH/pkg "$@" $REPO_PATH/$d
18e436
		else
18e436
            go build -ldflags "$GOBUILDFLAGS" -o "${PWD}/bin/$plugin" -pkgdir "$GOPATH/pkg" "$@" "$REPO_PATH/$d"
18e436
		fi
18e436
	fi
18e436
done