@@ -138,72 +138,69 @@ Download the latest release [here](https://github.com/SebastienDuruz/Window-Swit
138138
139139From the repo root:
140140
141- - Build: ` dotnet build Window-Switcher.sln `
141+ - Build: ` dotnet build Window-Switcher.slnx `
142142- Run: ` dotnet run --project src/WindowSwitcher/WindowSwitcher.csproj `
143143- Test: ` dotnet test src/WindowSwitcher.Tests/WindowSwitcher.Tests.csproj `
144144
145145The application version is centralized in ` ./Directory.Build.props ` via ` WindowSwitcherVersion ` .
146146
147- Build resources used by the packaging scripts now live under:
147+ Build resources used by packaging now live under:
148148
149- - ` ./scripts /assets/installer/ `
150- - ` ./scripts /assets/packaging/linux/ `
149+ - ` ./build /assets/installer/ `
150+ - ` ./build /assets/packaging/linux/ `
151151
152152Generated build outputs now live under:
153153
154- - ` ./scripts /artifacts/ `
154+ - ` ./build /artifacts/ `
155155
156- ## Build Windows installer (scripted)
156+ ## Build Artifacts With Nuke
157157
158- Prerequisite: install NSIS (so ` makensis ` is available) .
158+ Nuke is now the only build/deploy entrypoint for installer/AppImage packaging .
159159
160160From the repo root:
161161
162- ` pwsh ./scripts/build-installer.ps1 `
162+ - Linux/macOS shell: ` ./build/build.sh --target <TargetName> `
163+ - Windows cmd: ` ./build/build.cmd --target <TargetName> `
164+ - Windows PowerShell: ` ./build/build.cmd --target <TargetName> `
163165
164- The NSIS definition used by these scripts is stored in ` ./scripts/assets/installer/WindowSwitcher.nsi ` .
166+ From ` ./build/ ` you can also run:
165167
166- The script reads the version from ` ./Directory.Build.props ` by default. Use ` -Version ` only to override it for a specific build.
168+ - Linux/macOS shell: ` ./build.sh --target <TargetName> `
169+ - Windows cmd: ` build.cmd --target <TargetName> `
170+ - Windows PowerShell: ` ./build.cmd --target <TargetName> `
167171
168- (Works in Windows PowerShell too: ` powershell ./scripts/build-installer.ps1 ` .)
172+ Available targets:
169173
170- From Linux/macOS, you can also use:
174+ - ` Restore `
175+ - ` Compile `
176+ - ` Installer ` (Windows host only)
177+ - ` AppImage ` (Linux host only)
178+ - ` Artifacts ` (builds the artifact for the current host OS)
171179
172- ` ./scripts/build-installer.sh `
180+ Examples:
173181
174- ## Build Linux AppImage (scripted)
182+ - Windows installer (on Windows): ` ./build/build.cmd --target Installer `
183+ - Linux AppImage (on Linux): ` ./build/build.sh --target AppImage `
175184
176- From the repo root:
177-
178- ` ./scripts/build-appimage.sh `
179-
180- The AppImage packaging resources used by this script are stored in ` ./scripts/assets/packaging/linux/ ` .
181-
182- The script reads the version from ` ./Directory.Build.props ` by default. Use ` -v ` only to override it for a specific build.
183-
184- Output: ` ./scripts/artifacts/appimage/WindowSwitcher-<version>-linux-x64.AppImage `
185-
186- ## Build all artifacts from Linux
187-
188- From the repo root:
185+ Outputs:
189186
190- ` ./scripts/build-artifacts.sh `
187+ - ` ./build/artifacts/installer/WindowSwitcher-setup-<version>-<win-runtime>.exe `
188+ - ` ./build/artifacts/appimage/WindowSwitcher-<version>-<linux-runtime>.AppImage `
191189
192- By default, this produces both :
190+ Versioning :
193191
194- - ` ./scripts/artifacts/installer/WindowSwitcher-setup-<version>-win-x64.exe `
195- - ` ./scripts/artifacts/appimage/WindowSwitcher-<version>-linux-x64.AppImage `
192+ - Version is read from ` ./Directory.Build.props ` ( ` WindowSwitcherVersion ` ) by default.
193+ - Override for one build with ` --version <x.y.z> ` .
196194
197- You can also target a single artifact from the wrapper :
195+ Important :
198196
199- - ` ./scripts/build-artifacts.sh --skip-installer ` builds only the Linux AppImage
200- - ` ./scripts/ build- artifacts.sh --skip-appimage ` builds only the Windows installer
197+ - Cross-OS packaging is intentionally disabled.
198+ - ` appimagetool ` is auto-downloaded to ` ./ build/ artifacts/tools/ ` when missing.
201199
202- Prerequisites on Linux :
200+ Prerequisites:
203201
204202- ` .NET SDK `
205- - ` NSIS ` (` makensis ` ) when building the Windows installer
206- - ` appimagetool ` in ` PATH ` , or let the AppImage script download it automatically
203+ - ` NSIS ` (` makensis ` ) for ` Installer `
207204
208205### Linux dependencies
209206
0 commit comments