#!/bin/bash # Build Release and produce dist/VanguardMetadata_.zip (DLLs + meta.json) ready to drop into # Jellyfin's plugins folder, plus dist/manifest.json for serving as a plugin repository. set -euo pipefail cd "$(dirname "$0")" command -v yq >/dev/null 2>&1 || true get() { grep -E "^$1:" build.yaml | head -1 | sed -E 's/^[a-zA-Z]+: *"?([^"]*)"?$/\1/'; } NAME=$(get name); GUID=$(get guid); VERSION=$(get version); ABI=$(get targetAbi); OVERVIEW=$(get overview); OWNER=$(get owner); CATEGORY=$(get category) DESC=$(python3 -c "import yaml,sys; print(yaml.safe_load(open('build.yaml'))['description'].strip())") CHANGELOG=$(python3 -c "import yaml,sys; print(yaml.safe_load(open('build.yaml'))['changelog'].strip())") dotnet test Jellyfin.Plugin.Vanguard.Tests --nologo -v q dotnet build Jellyfin.Plugin.Vanguard -c Release --nologo -v q OUT=Jellyfin.Plugin.Vanguard/bin/Release/net10.0 STAGE=dist/stage; rm -rf dist; mkdir -p "$STAGE" cp "$OUT/Jellyfin.Plugin.Vanguard.dll" "$OUT/Jellyfin.Plugin.Vanguard.Core.dll" "$STAGE/" TS=$(date -u +%Y-%m-%dT%H:%M:%SZ) cat > "$STAGE/meta.json" < dist/manifest.json <