#!/usr/bin/env bash
set -e

if ! test -e autogen/genstatic/gen.go; then
	echo >&2 'error: generate must be run before binary'
	false
fi

rm -f dist/traefik

FLAGS=()
if [ -n "$VERBOSE" ]; then
    FLAGS+=(-v)
fi

if [ -z "$VERSION" ]; then
    VERSION=$(git rev-parse HEAD)
fi

if [ -z "$CODENAME" ]; then
    CODENAME=cheddar
fi

if [ -z "$DATE" ]; then
    DATE=$(date -u '+%Y-%m-%d_%I:%M:%S%p')
fi

# Build binaries
# shellcheck disable=SC2086
CGO_ENABLED=0 GOGC=off go build ${FLAGS[*]} -ldflags "-s -w \
    -X github.com/traefik/traefik/v2/pkg/version.Version=$VERSION \
    -X github.com/traefik/traefik/v2/pkg/version.Codename=$CODENAME \
    -X github.com/traefik/traefik/v2/pkg/version.BuildDate=$DATE" \
    -a -installsuffix nocgo -o dist/traefik ./cmd/traefik
