This folder contains PowerShell scripts for CI, building, and packaging.
- build.ps1 - wrapper around
cargo build
that saves to an output folder- handles all products and modules
- copy-psmodule.ps1 - copies the PowerShell module to a directory inside of
$Env:Temp
- package-gateway-windows.ps1 - one-shot packaging the Gateway for Windows
Product | Platform | Procedure |
---|---|---|
Gateway | Windows (regular) | build.ps1 gateway copy-ps-module.ps1 package-gateway-windows.ps1 |
Gateway | Windows (assembled) | build.ps1 gateway copy-ps-module.ps1 package-gateway-windows.ps1 -Generate package-assembled.ps1 gateway |
Gateway | Linux | build.ps1 gateway package-gateway-linux.ps1 (not available yet) |
Agent | Windows (regular) | build.ps1 agent build.ps1 pedm build.ps1 session ..\dotnet\DesktopAgent\build.ps1 package-agent-windows.ps1 |
Agent | Windows (assembled) | build.ps1 agent build.ps1 pedm build.ps1 session ..\dotnet\DesktopAgent\build.ps1 package-agent-windows.ps1 -Generate package-assembled.ps1 agent |
Jetsocat | Windows/macOS/Linux | build.ps1 jetsocat Jetsocat is not packaged. |
Session | Windows/macOS/Linux | build.ps1 session Session is not packaged. |
PEDM module | Windows | build.ps1 pedm |
PowerShell module | Windows | copy-ps-module.ps1 |
Desktop Agent | Windows | ..\dotnet\DesktopAgent\build.ps1 |
Windows (regular) is the "normal" build process where the MSI is built by WiX but not signed. This is used in ci.yaml. Windows (assembled) is a two-step process where the -Generate
flag is used to build supporting files for the MSI, including DLLs, language transforms, and cmd scripts. The MSI is assembled in second step using package-assembled.ps1. The two-step approach is described here.
To build on Windows:
- WiX Toolset v3
- MSBuild
To build on Linux:
- fpm (Ruby package)
- debhelper