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