cli.sh 824 B

1234567891011121314151617181920212223242526272829
  1. #!/bin/sh
  2. set -e
  3. version="$1"
  4. repository="$2"
  5. outdir="$3"
  6. DOWNLOAD_URL="https://download.docker.com/linux/static/stable/$(xx-info march)/docker-${version#v}.tgz"
  7. mkdir "$outdir"
  8. if curl --head --silent --fail "${DOWNLOAD_URL}" 1> /dev/null 2>&1; then
  9. curl -fsSL "${DOWNLOAD_URL}" | tar -xz docker/docker
  10. mv docker/docker "${outdir}/docker"
  11. else
  12. git init -q .
  13. git remote remove origin 2> /dev/null || true
  14. git remote add origin "${repository}"
  15. git fetch -q --depth 1 origin "${version}" +refs/tags/*:refs/tags/*
  16. git checkout -fq "${version}"
  17. if [ -d ./components/cli ]; then
  18. mv ./components/cli/* ./
  19. CGO_ENABLED=0 xx-go build -o "${outdir}/docker" ./cmd/docker
  20. git reset --hard "${version}"
  21. else
  22. xx-go --wrap && CGO_ENABLED=0 TARGET="${outdir}" ./scripts/build/binary
  23. fi
  24. fi
  25. xx-verify "${outdir}/docker"