Private/Platform.ps1
|
$script:clientNetVersion = 'net8.0' $script:serverNetVersion = 'net9.0' $script:supportedServerRids = @( 'win-x64' 'osx-arm64' 'linux-x64' 'linux-arm64' ) $script:moduleRootPath = "$PSScriptRoot/../" function GetExecutableExtension() { if ($IsWindows) { '.exe' } else { '' } } function GetRid() { if ($IsWindows) { 'win-x64' } else { [System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier } } function GetServerModuleName() { $rid = GetRid "GliderUI.Server.$rid" } function GetServerExePath($ModuleRoot) { $serverModulePath = GetServerModuleName $serverExtension = GetExecutableExtension if (-not [string]::IsNullOrEmpty($ModuleRoot)) { $serverModulePath = "$ModuleRoot/$serverModulePath" } $gliderUIVersion = GetGliderUIVersion $serverModule = Get-Module $serverModulePath -ListAvailable | Where-Object { $_.Version -eq $gliderUIVersion } if ($null -eq $serverModule) { Write-Warning "Server [$serverModulePath] Version [$gliderUIVersion] not installed." return } "$(Split-Path $serverModule.Path -Parent)/bin/$serverNetVersion/GliderUI.Server$serverExtension" } function WriteErrorIfRidNotSupported() { $rid = GetRid if ($supportedServerRids -contains $rid) { $false } else { Write-Error "Server runtime id [$rid] is not supported. Supported runtime ids are [$supportedServerRids]." $true } } function GetGliderUIVersion() { $psd1 = Join-Path $script:moduleRootPath 'GliderUI.psd1' $manifest = Import-PowerShellDataFile -Path $psd1 $manifest.ModuleVersion } |