#!/usr/bin/env bash set -e . "${0%/*}/helpers" # Parse our options while getopts "n:o:" OPT; do case "${OPT}" in o) output="${OPTARG}";; n) base_name="${OPTARG}";; :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; \?) error "unknown option '%s'\n" "${OPTARG}";; esac done # Already vendored tarball, nothing to do if tar tf "${output}" | grep -q "^[^/]*/vendor" ; then exit 0 fi post_process_unpack "${base_name}" "${output}" # Do the Go vendoring pushd "${base_name}" > /dev/null if [ ! -f go.mod ]; then echo "ERROR: no vendor/ folder and no go.mod, aborting" exit 1 fi go mod vendor -v -modcacherw popd > /dev/null post_process_repack $(pwd) "${base_name}" "${output}"