53 lines
1.4 KiB
PowerShell
53 lines
1.4 KiB
PowerShell
[CmdletBinding()]
|
|
param(
|
|
[Alias("h")]
|
|
[switch]$Help,
|
|
[string]$ApiHost = "127.0.0.1",
|
|
[int]$Port = 3100,
|
|
[string]$Log = "info,tower_http=info"
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
function Write-Usage {
|
|
@(
|
|
'Usage:'
|
|
' ./server-rs/scripts/dev.ps1'
|
|
' ./server-rs/scripts/dev.ps1 -ApiHost 0.0.0.0 -Port 3100 -Log "debug,tower_http=debug"'
|
|
''
|
|
'Notes:'
|
|
' 1. Set default local env vars for the Rust api-server'
|
|
' 2. Start Axum with cargo run -p api-server'
|
|
' 3. This script only covers the api-server local dev loop'
|
|
) -join [Environment]::NewLine
|
|
}
|
|
|
|
if ($Help) {
|
|
Write-Usage
|
|
exit 0
|
|
}
|
|
|
|
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
$serverRsDir = Split-Path -Parent $scriptDir
|
|
|
|
if (-not (Test-Path (Join-Path $serverRsDir "Cargo.toml"))) {
|
|
throw "Missing server-rs/Cargo.toml, cannot start local dev script."
|
|
}
|
|
|
|
$env:GENARRATIVE_API_HOST = $ApiHost
|
|
$env:GENARRATIVE_API_PORT = "$Port"
|
|
$env:GENARRATIVE_API_LOG = $Log
|
|
|
|
Write-Host "[server-rs:dev] working dir: $serverRsDir"
|
|
Write-Host "[server-rs:dev] GENARRATIVE_API_HOST=$($env:GENARRATIVE_API_HOST)"
|
|
Write-Host "[server-rs:dev] GENARRATIVE_API_PORT=$($env:GENARRATIVE_API_PORT)"
|
|
Write-Host "[server-rs:dev] GENARRATIVE_API_LOG=$($env:GENARRATIVE_API_LOG)"
|
|
|
|
Push-Location $serverRsDir
|
|
try {
|
|
cargo run -p api-server --manifest-path (Join-Path $serverRsDir "Cargo.toml")
|
|
}
|
|
finally {
|
|
Pop-Location
|
|
}
|