#!/bin/bash
set -euo pipefail

# Run in a clean environment with only the candidate -dev package and build tools.
gopath=${1:-/usr/share/gocode}
if [[ $# -gt 1 ]]; then
    echo "Usage: $0 [installed-source-GOPATH]" >&2
    exit 2
fi
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
command -v go >/dev/null || { echo 'Missing tool: go' >&2; exit 2; }
[[ -d "$gopath/src/github.com/linuxdeepin/go-lib" ]] || {
    echo "Missing installed go-lib source under $gopath" >&2
    exit 2
}
work_dir=$(mktemp -d -t go-lib-installed-consumer.XXXXXXXX)
trap 'rm -rf -- "$work_dir"' EXIT
cp -- "$script_dir/installed-consumer.go" "$work_dir/main.go"
env GO111MODULE=off GOWORK=off GOPATH="$gopath" GOPROXY=off GOSUMDB=off \
    GOTOOLCHAIN=local GOENV=off GOFLAGS= CGO_ENABLED=1 GOCACHE="$work_dir/cache" \
    go build -p 2 -v -o "$work_dir/installed-consumer" "$work_dir/main.go"
echo 'PASS: app, dbusutil/proxy, gdkpixbuf and sound_effect compile from installed sources'
