mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-30 10:12:35 +00:00
Move version out of SDK. For now it's a copy rather than move: the part not addressed by this change is sdk/helper/useragent.String, which we'll want to remove in favour of PluginString. That will have to wait until we've removed uses of useragent.String from all builtins.
60 lines
1.3 KiB
Bash
Executable File
60 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# This script builds the application from source for multiple platforms.
|
|
set -e
|
|
|
|
GO_CMD=${GO_CMD:-go}
|
|
|
|
# Get the parent directory of where this script is.
|
|
SOURCE="${BASH_SOURCE[0]}"
|
|
SOURCE_DIR=$( dirname "$SOURCE" )
|
|
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
|
|
DIR="$( cd -P "$SOURCE_DIR/.." && pwd )"
|
|
|
|
# Change into that directory
|
|
cd "$DIR"
|
|
|
|
# Set build tags
|
|
BUILD_TAGS="${BUILD_TAGS:-"vault"}"
|
|
|
|
# Get the git commit
|
|
GIT_COMMIT="$("$SOURCE_DIR"/crt-builder.sh revision)"
|
|
GIT_DIRTY="$(test -n "`git status --porcelain`" && echo "+CHANGES" || true)"
|
|
|
|
BUILD_DATE="$("$SOURCE_DIR"/crt-builder.sh date)"
|
|
|
|
GOPATH=${GOPATH:-$(${GO_CMD} env GOPATH)}
|
|
case $(uname) in
|
|
CYGWIN*)
|
|
GOPATH="$(cygpath $GOPATH)"
|
|
;;
|
|
esac
|
|
|
|
# Delete the old dir
|
|
echo "==> Removing old directory..."
|
|
rm -f bin/*
|
|
rm -rf pkg/*
|
|
mkdir -p bin/
|
|
|
|
# Build!
|
|
echo "==> Building..."
|
|
${GO_CMD} build \
|
|
-gcflags "${GCFLAGS}" \
|
|
-ldflags "${LD_FLAGS} -X github.com/hashicorp/vault/version.GitCommit='${GIT_COMMIT}${GIT_DIRTY}' -X github.com/hashicorp/vault/version.BuildDate=${BUILD_DATE}" \
|
|
-o "bin/vault" \
|
|
-tags "${BUILD_TAGS}" \
|
|
.
|
|
|
|
# Move all the compiled things to the $GOPATH/bin
|
|
OLDIFS=$IFS
|
|
IFS=: MAIN_GOPATH=($GOPATH)
|
|
IFS=$OLDIFS
|
|
|
|
rm -f ${MAIN_GOPATH}/bin/vault
|
|
cp bin/vault ${MAIN_GOPATH}/bin/
|
|
|
|
# Done!
|
|
echo
|
|
echo "==> Results:"
|
|
ls -hl bin/
|