| #!/usr/bin/env bash | |
| # | |
| # Build plugins examples for the host OS/ARCH | |
| # | |
| set -eu -o pipefail | |
| # Disable CGO - we don't need it for these plugins. | |
| # | |
| # Important: this must be done before sourcing "./scripts/build/.variables", | |
| # because some other variables are conditionally set whether CGO is enabled. | |
| export CGO_ENABLED=0 | |
| source ./scripts/build/.variables | |
| GO_LDFLAGS="${GO_LDFLAGS:-}" | |
| GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cmd/docker-trust/internal/version.Version=${VERSION}\"" | |
| if [ "$CGO_ENABLED" = "1" ] && [ "$(go env GOOS)" != "windows" ]; then | |
| GO_BUILDTAGS="$GO_BUILDTAGS pkcs11" | |
| fi | |
| TARGET_PLUGIN="$(dirname "${TARGET}")/docker-trust-${GOOS}-${GOARCH}" | |
| mkdir -p "$(dirname "${TARGET_PLUGIN}")" | |
| echo "Building $GO_LINKMODE $(basename "${TARGET_PLUGIN}")" | |
| (set -x ; GO111MODULE=auto go -C ./cmd/docker-trust build -o "../../${TARGET_PLUGIN}" -tags "${GO_BUILDTAGS}" -ldflags "${GO_LDFLAGS}" ${GO_BUILDMODE}) | |
| ln -sf "$(basename "${TARGET_PLUGIN}")" "$(dirname "${TARGET}")/docker-trust" |