35 lines
978 B
Bash
Executable File
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
|