param( [switch]$Build, [string]$TargetTriple, [string]$SourceBinary, [string]$OutputRoot, [switch]$SkipVersionSmoke ) $ErrorActionPreference = "Stop" Set-StrictMode -Version Latest $repoRoot = Split-Path -Parent (Split-Path -Parent $PSScriptRoot) $xtaskManifest = Join-Path $repoRoot "xtask\Cargo.toml" $arguments = @( "cargo", "run", "--manifest-path", $xtaskManifest, "--", "release", "package-local" ) if ($Build) { $arguments += "--build" } if (-not [string]::IsNullOrWhiteSpace($TargetTriple)) { $arguments += @("--target-triple", $TargetTriple) } if (-not [string]::IsNullOrWhiteSpace($SourceBinary)) { $arguments += @("--source-binary", $SourceBinary) } if (-not [string]::IsNullOrWhiteSpace($OutputRoot)) { $arguments += @("--output-root", $OutputRoot) } if ($SkipVersionSmoke) { $arguments += "--skip-version-smoke" } rtk @arguments