Publish the logger and the recorder in one archive

publish.sh takes a runtime id and publishes both programs into
dist/nonemm-<rid>, which holds the runtime and the Avalonia files once.
The archive is a zip for Windows and a tar.gz for the rest.
publish-windows.sh and publish-linux.sh call it with their default id.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 23:57:47 +00:00
co-authored by Claude Sonnet 5.5
parent c01032a2cc
commit 0e5aa3238b
4 changed files with 44 additions and 15 deletions
+2 -14
View File
@@ -1,15 +1,3 @@
#!/bin/sh
# Builds a self-contained Windows x64 copy in dist/nonemm-win-x64 and zips it.
# The target machine needs no .NET install. Pass another runtime id as the
# first argument, for example win-arm64 (the bridge and XMMT.ocx are 32 bit
# x86 either way).
rid="${1:-win-x64}"
cd "$(dirname "$0")" || exit 1
out="dist/nonemm-$rid"
rm -rf "$out"
./build.sh publish src/Nonemm.App -c Release -r "$rid" --self-contained -o "$out" || exit 1
rm -f "$out"/*.pdb
rm -f "dist/nonemm-$rid.zip"
python3 -c 'import shutil, sys; shutil.make_archive(sys.argv[1], "zip", "dist", sys.argv[2])' \
"dist/nonemm-$rid" "nonemm-$rid" || exit 1
echo "dist/nonemm-$rid.zip"
# Windows x64 by default; pass another runtime id such as win-arm64.
exec "$(dirname "$0")/publish.sh" "${1:-win-x64}"