Make build.sh work for windows plugins.

When building the windows plugin exe's (host-local, flannel, win-overlay, win-bridge),
it was necessary to use 'GOOS=windows go build path/to/plugin' rather than the build script.

This makes 'GOOS=windows GOARCH=amd64 ./build.sh' build all the windows plugin binaries.
This commit is contained in:
Leah Hanson
2018-10-17 16:44:57 -07:00
parent b93d284d18
commit 2d03820ebb

View File

@ -20,19 +20,28 @@ export GO="${GO:-go}"
mkdir -p "${PWD}/bin" mkdir -p "${PWD}/bin"
echo "Building plugins ${GOOS}" echo "Building plugins ${GOOS}"
PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample" if [[ $GOOS == "windows" ]]; then
for d in $PLUGINS; do PLUGINS=$(cat plugins/windows_only.txt)
if [ -d "$d" ]; then if [ "$GOARCH" == "amd64" ]; then
plugin="$(basename "$d")" for d in $PLUGINS; do
if [ $plugin == "windows" ] if [ -d "$d" ]; then
then plugin="$(basename "$d").exe"
if [ "$GOARCH" == "amd64" ] echo " $plugin"
then $GO build -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d
GOOS=windows . $d/build.sh fi
fi done
else else
echo " $plugin" echo "Could not build windows plugins when GOARCH != amd64"
$GO build -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d fi
fi else
fi PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample"
done for d in $PLUGINS; do
if [ -d "$d" ]; then
plugin="$(basename "$d")"
if [ $plugin != "windows" ]; then
echo " $plugin"
$GO build -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d
fi
fi
done
fi