Files
magges 23e0101e20
build-elsword-ge / build (push) Has been cancelled
feat: add Elsword GE build project
2026-06-27 11:23:40 +02:00

66 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/common.sh"
usage() {
cat <<'EOF'
Usage:
./scripts/package.sh stable
./scripts/package.sh dxvk-git
./scripts/package.sh all
EOF
}
package_variant() {
local variant="$1"
local metadata_file tool_name tool_dir archive_name archive_alias archive_path alias_path
metadata_file="$(metadata_file_for_variant "$variant")"
[[ -f "$metadata_file" ]] || die "missing metadata for variant $variant, run build first"
source "$metadata_file"
tool_name="$(tool_name_for_variant "$variant")"
tool_dir="$DIST_DIR/$tool_name"
archive_name="$(archive_name_for_variant "$variant")"
archive_alias="$(archive_alias_for_variant "$variant")"
archive_path="$DIST_DIR/$archive_name"
alias_path="$DIST_DIR/$archive_alias"
[[ -d "$tool_dir" ]] || die "missing built tool dir: $tool_dir"
say "Package $tool_name"
rm -f "$archive_path" "$alias_path"
tar --zstd -cf "$archive_path" -C "$DIST_DIR" "$tool_name"
if [[ "$archive_alias" != "$archive_name" ]]; then
cp -f "$archive_path" "$alias_path"
fi
}
main() {
local mode="${1:-all}"
ensure_repo_layout
case "$mode" in
stable) package_variant stable ;;
dxvk-git) package_variant dxvk-git ;;
all)
package_variant stable
package_variant dxvk-git
;;
-h|--help)
usage
exit 0
;;
*)
usage >&2
exit 1
;;
esac
}
main "$@"