#!/bin/bash -e

export GOPATH=${PWD}/Godeps/_workspace
export GOBIN=${PWD}/bin

if command -v go-bindata &>/dev/null; then
    DEX_MIGRATE_FROM_DISK=${DEX_MIGRATE_FROM_DISK:=false}

    echo "Turning migrations into ./db/migrations/assets.go"
    if [ "$DEX_MIGRATE_FROM_DISK" = true ]; then
        echo "Compiling migrations.go: will read migrations from disk."
    else
        echo "Compiling migrations into migrations.go"
    fi
    go-bindata -debug=$DEX_MIGRATE_FROM_DISK -modtime=1 -pkg migrations -o ./db/migrations/assets.go ./db/migrations
    gofmt -w ./db/migrations/assets.go
else
    echo "Could not find go-bindata in path, will not generate migrations"
fi

rm -rf $GOPATH/src/github.com/coreos/dex
mkdir -p $GOPATH/src/github.com/coreos/
ln -s ${PWD} $GOPATH/src/github.com/coreos/dex

LD_FLAGS="-X main.version $(git rev-parse HEAD)"
go build -o bin/dex-worker -ldflags="$LD_FLAGS" github.com/coreos/dex/cmd/dex-worker
go build -o bin/dexctl github.com/coreos/dex/cmd/dexctl
go build -o bin/dex-overlord -ldflags="$LD_FLAGS" github.com/coreos/dex/cmd/dex-overlord
go build -o bin/example-app github.com/coreos/dex/examples/app
go build -o bin/example-cli github.com/coreos/dex/examples/cli