set -e
set -o pipefail
VERSION="$1"
TARGET="$2"
OUTDIR="$3"
ARCHIVE_NAME="mdcat-${VERSION}-${TARGET}"
package_windows() {
local archive_file
archive_file="${ARCHIVE_NAME}.zip"
mv LICENSE LICENSE.txt
7z a "${archive_file}" "./target/${TARGET}/release/mdcat.exe" ./README.md ./CHANGELOG.md ./LICENSE.txt "${OUTDIR}/completions" ./mdcat.1.adoc
echo ::set-output "name=file::${archive_file}"
echo ::set-output "name=name::${ARCHIVE_NAME}.zip"
}
package_unix() {
local archive_file
local pkg_dir
archive_file="${ARCHIVE_NAME}.tar.gz"
pkg_dir=$(mktemp -d)
mkdir "${pkg_dir}/${ARCHIVE_NAME}"
cp README.md CHANGELOG.md LICENSE "target/${TARGET}/release/mdcat" "${pkg_dir}/${ARCHIVE_NAME}"
cp -r "${OUTDIR}/completions" "${pkg_dir}/${ARCHIVE_NAME}"
cp "${OUTDIR}/mdcat.1" "${pkg_dir}/${ARCHIVE_NAME}"
tar -czf "${PWD}/${archive_file}" -C "${pkg_dir}" "${ARCHIVE_NAME}"
echo ::set-output "name=file::${archive_file}"
echo ::set-output "name=name::${ARCHIVE_NAME}.tar.gz"
}
if [[ "${TARGET}" == *windows* ]]; then
package_windows
else
package_unix
fi