Files

35 lines
978 B
Bash
Executable File

#!/usr/bin/env bash
# Prüft und verpackt alle Skills (oder nur den angegebenen) als dist/<name>-v<version>.zip.
# Im ZIP liegt der Ordner <name>/ auf oberster Ebene.
# README.md und CHANGELOG.md werden nicht mitverpackt.
# Aufruf: scripts/package.sh [<skill-name>]
set -euo pipefail
source "$(dirname "$0")/lib.sh"
bash "$(dirname "$0")/validate.sh" "${1:-}"
if [[ $# -gt 0 && -n "$1" ]]; then
names=("$1")
else
mapfile -t names < <(skill_names)
fi
mkdir -p "$DIST_DIR"
for name in "${names[@]}"; do
version="$(skill_version "$SKILLS_DIR/$name")"
zip_path="$DIST_DIR/$name-v$version.zip"
rm -f "$zip_path"
tmp="$(mktemp -d)"
mkdir "$tmp/$name"
(cd "$SKILLS_DIR/$name" && tar cf - --exclude=CHANGELOG.md --exclude=README.md --exclude=.DS_Store --exclude=Thumbs.db --exclude=extension .) \
| (cd "$tmp/$name" && tar xf -)
(cd "$tmp" && zip -qrX "$zip_path" "$name")
rm -rf "$tmp"
echo
echo "dist/$name-v$version.zip"
unzip -l "$zip_path"
done