go-post-process 738 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/env bash
  2. set -e
  3. . "${0%/*}/helpers"
  4. # Parse our options
  5. while getopts "n:o:" OPT; do
  6. case "${OPT}" in
  7. o) output="${OPTARG}";;
  8. n) base_name="${OPTARG}";;
  9. :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
  10. \?) error "unknown option '%s'\n" "${OPTARG}";;
  11. esac
  12. done
  13. # Already vendored tarball, nothing to do
  14. if tar tf "${output}" | grep -q "^[^/]*/vendor" ; then
  15. exit 0
  16. fi
  17. post_process_unpack "${base_name}" "${output}"
  18. # Do the Go vendoring
  19. pushd "${base_name}" > /dev/null
  20. if [ ! -f go.mod ]; then
  21. echo "ERROR: no vendor/ folder and no go.mod, aborting"
  22. exit 1
  23. fi
  24. go mod vendor -v -modcacherw
  25. popd > /dev/null
  26. post_process_repack $(pwd) "${base_name}" "${output}"