set -e

mkdir -p ${BOSH_INSTALL_TARGET}/src
cp -a . ${BOSH_INSTALL_TARGET}/src
export GOPATH=$BOSH_INSTALL_TARGET

export GOROOT=$(readlink -nf /var/vcap/packages/golang)
export PATH=$GOROOT/bin:$PATH

CGO_ENABLED=0 go build -a -installsuffix static code.cloudfoundry.org/buildpackapplifecycle/builder
CGO_ENABLED=0 go build -a -installsuffix static code.cloudfoundry.org/buildpackapplifecycle/launcher
CGO_ENABLED=0 go build -a -installsuffix static code.cloudfoundry.org/buildpackapplifecycle/shell/shell

GOOS=windows CGO_ENABLED=0 go build -a -installsuffix static code.cloudfoundry.org/buildpackapplifecycle/builder
GOOS=windows CGO_ENABLED=0 go build -a -installsuffix static code.cloudfoundry.org/buildpackapplifecycle/launcher

for binary in builder launcher; do
    ldd $binary && echo "$binary must be statically linked" && false
done

cp /var/vcap/packages/diego-sshd/diego-sshd .
cp /var/vcap/packages/diego-sshd/*.exe .
cp /var/vcap/packages/diego-sshd/winpty.dll .
cp /var/vcap/packages/healthcheck/healthcheck .
cp /var/vcap/packages/healthcheck/healthcheck.exe .

tar -czf ${BOSH_INSTALL_TARGET}/buildpack_app_lifecycle.tgz \
  builder launcher shell healthcheck diego-sshd  \
  builder.exe launcher.exe healthcheck.exe diego-sshd.exe \
  winpty-agent.exe winpty.dll

# clean up source artifacts
rm -rf ${BOSH_INSTALL_TARGET}/src ${BOSH_INSTALL_TARGET}/pkg
