From 1d983e9f934bf6aeb9333c763fe1a603b8d8e5c4 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Sun, 22 Mar 2020 11:48:23 +0100 Subject: Initial commit --- lib/actions/dist.bash | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lib/actions/dist.bash (limited to 'lib/actions/dist.bash') diff --git a/lib/actions/dist.bash b/lib/actions/dist.bash new file mode 100644 index 0000000..3b06b4f --- /dev/null +++ b/lib/actions/dist.bash @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +RSTAR_DEPS_BIN+=( + git + tar +) + +action() { + local version="${1:-$(date +%Y.%m)}" + WORKDIR="$BASEDIR/tmp/rakudo-star-$version" + + info "Creating distribution contents at $WORKDIR" + + cd -- "$BASEDIR" + + # Include files from this project + for file in $(git ls-files) + do + dist_include "/$file" + done + + # Include the sources of all components + for src in dist/src/* + do + dist_include "/$src" + done + + # Add a MANIFEST.txt + cd -- "$WORKDIR" + find . > MANIFEST.txt + + # Tar it all up into a distribution tarball + info "Creating tarball out of $WORKDIR" + + local tarball="$BASEDIR/dist/rakudo-star-$version.tar.gz" + + mkdir -p -- "$(dirname "$tarball")" + cd -- "$BASEDIR/tmp" + + tar czf "$tarball" "rakudo-star-$version" + + info "Distribution tarball available at $tarball" +} + +dist_include() { + mkdir -p -- "$(dirname "${WORKDIR}$1")" + cp -r -- "${BASEDIR}$1" "${WORKDIR}$1" +} -- cgit v1.1