#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "$0")" && pwd)" OUTPUT_DIR="$ROOT/output" PROJECT="$ROOT/BadBuilder/BadBuilder.csproj" mkdir -p "$OUTPUT_DIR" publish() { local rid="$1" local name="$2" echo "Publishing $name ($rid)..." dotnet publish "$PROJECT" \ -c Release \ -r "$rid" \ -p:SelfContained=false \ -p:PublishSingleFile=true \ -o "$OUTPUT_DIR/tmp-$rid" mv "$OUTPUT_DIR/tmp-$rid/BadBuilder.exe" "$OUTPUT_DIR/$name" rm -rf "$OUTPUT_DIR/tmp-$rid" echo " -> $OUTPUT_DIR/$name" } publish "win-x64" "BadBuilder-AMD64.exe" publish "win-x86" "BadBuilder-x86.exe" publish "win-arm64" "BadBuilder-ARM64.exe" echo echo "Done. Binaries in $OUTPUT_DIR:" ls -lh "$OUTPUT_DIR"/BadBuilder-*.exe