This folder contains PowerShell scripts for CI, building, and packaging.
- build.ps1 - wrapper around
cargo buildthat 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 gatewaycopy-ps-module.ps1package-gateway-windows.ps1 |
| Gateway | Windows (assembled) | build.ps1 gatewaycopy-ps-module.ps1package-gateway-windows.ps1 -Generatepackage-assembled.ps1 gateway |
| Gateway | Linux | build.ps1 gatewaypackage-gateway-linux.ps1 (not available yet) |
| Agent | Windows (regular) | build.ps1 agent build.ps1 pedmbuild.ps1 session..\dotnet\DesktopAgent\build.ps1package-agent-windows.ps1 |
| Agent | Windows (assembled) | build.ps1 agent build.ps1 pedmbuild.ps1 session..\dotnet\DesktopAgent\build.ps1package-agent-windows.ps1 -Generatepackage-assembled.ps1 agent |
| Jetsocat | Windows/macOS/Linux | build.ps1 jetsocatJetsocat 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