| #!/bin/sh | |
| set -e | |
| version="$1" | |
| repository="$2" | |
| outdir="$3" | |
| DOWNLOAD_URL="https://download.docker.com/linux/static/stable/$(xx-info march)/docker-${version#v}.tgz" | |
| mkdir "$outdir" | |
| if curl --head --silent --fail "${DOWNLOAD_URL}" 1> /dev/null 2>&1; then | |
| curl -fsSL "${DOWNLOAD_URL}" | tar -xz docker/docker | |
| mv docker/docker "${outdir}/docker" | |
| else | |
| git init -q . | |
| git remote remove origin 2> /dev/null || true | |
| git remote add origin "${repository}" | |
| git fetch -q --depth 1 origin "${version}" +refs/tags/*:refs/tags/* | |
| git checkout -fq "${version}" | |
| if [ -d ./components/cli ]; then | |
| mv ./components/cli/* ./ | |
| CGO_ENABLED=0 xx-go build -o "${outdir}/docker" ./cmd/docker | |
| git reset --hard "${version}" | |
| else | |
| xx-go --wrap && CGO_ENABLED=0 TARGET="${outdir}" ./scripts/build/binary | |
| fi | |
| fi | |
| xx-verify "${outdir}/docker" |