From 2d03820ebb9a569455d9bd3b0f5d36f2d305be4d Mon Sep 17 00:00:00 2001 From: Leah Hanson Date: Wed, 17 Oct 2018 16:44:57 -0700 Subject: [PATCH] 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. --- build.sh | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/build.sh b/build.sh index 6db861a5..c3ce336d 100755 --- a/build.sh +++ b/build.sh @@ -20,19 +20,28 @@ export GO="${GO:-go}" mkdir -p "${PWD}/bin" echo "Building plugins ${GOOS}" -PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample" -for d in $PLUGINS; do - if [ -d "$d" ]; then - plugin="$(basename "$d")" - if [ $plugin == "windows" ] - then - if [ "$GOARCH" == "amd64" ] - then - GOOS=windows . $d/build.sh - fi - else - echo " $plugin" - $GO build -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d - fi - fi -done +if [[ $GOOS == "windows" ]]; then + PLUGINS=$(cat plugins/windows_only.txt) + if [ "$GOARCH" == "amd64" ]; then + for d in $PLUGINS; do + if [ -d "$d" ]; then + plugin="$(basename "$d").exe" + echo " $plugin" + $GO build -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d + fi + done + else + echo "Could not build windows plugins when GOARCH != amd64" + fi +else + PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample" + 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