Initial release of Lumen Wallpaper
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
VERSION=$(awk -F'"' '/^version =/{print $2; exit}' "$ROOT/Cargo.toml")
|
||||
REF=${1:-HEAD}
|
||||
DIST_DIR=${DIST_DIR:-"$ROOT/dist"}
|
||||
SOURCE_ARCHIVE="$DIST_DIR/lumen-wallpaper-$VERSION-source.tar.gz"
|
||||
INSTALLER="$DIST_DIR/lumen-wallpaper-$VERSION-installer.run"
|
||||
|
||||
command -v git >/dev/null 2>&1 || {
|
||||
printf 'Release packaging requires git\n' >&2
|
||||
exit 1
|
||||
}
|
||||
git -C "$ROOT" rev-parse --verify "$REF^{commit}" >/dev/null
|
||||
mkdir -p "$DIST_DIR"
|
||||
|
||||
git -C "$ROOT" archive --format=tar.gz \
|
||||
--prefix="Lumen-wallpaper-$VERSION/" "$REF" -o "$SOURCE_ARCHIVE"
|
||||
|
||||
if tar -tzf "$SOURCE_ARCHIVE" | grep -E '(^|/)(build|target|dist|\.env)(/|$)|\.(log|swp|tmp)$' >/dev/null; then
|
||||
printf 'Release archive contains a forbidden local artifact\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sed "s/@LUMEN_VERSION@/$VERSION/g" "$ROOT/packaging/installer-stub.sh" > "$INSTALLER"
|
||||
base64 "$SOURCE_ARCHIVE" >> "$INSTALLER"
|
||||
chmod +x "$INSTALLER"
|
||||
|
||||
(
|
||||
cd "$DIST_DIR"
|
||||
sha256sum "$(basename "$SOURCE_ARCHIVE")" "$(basename "$INSTALLER")" > SHA256SUMS
|
||||
)
|
||||
printf 'Created %s\nCreated %s\n' "$SOURCE_ARCHIVE" "$INSTALLER"
|
||||
Reference in New Issue
Block a user