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
+7 -1
View File
@@ -50,13 +50,19 @@ audio devices into one Opus file. See [docs/recorder.md](docs/recorder.md).
Build the Windows copy on any machine that has the .NET 10 SDK:
```sh
./publish-windows.sh # writes dist/nonemm-win-x64/ and dist/nonemm-win-x64.zip
./publish-windows.sh # dist/nonemm-win-x64.zip
./publish-linux.sh # dist/nonemm-linux-x64.tar.gz
```
Each archive holds the logger (`Nonemm.App`) and the recorder
(`nonemm-recorder`) as two programs in one folder. Both scripts call
`publish.sh`, which takes any runtime id, for example `./publish.sh win-arm64`.
On Windows itself, run this from PowerShell instead:
```powershell
dotnet publish src\Nonemm.App -c Release -r win-x64 --self-contained -o dist\nonemm-win-x64
dotnet publish src\Nonemm.Recorder.App -c Release -r win-x64 --self-contained -o dist\nonemm-win-x64
```
The result needs no .NET install. Unzip it anywhere you can write to and run