examples/uipath-pack.psd1
|
# CpmfUipsPack project-level configuration file # # Place this file alongside (or near) your project.json and pass it via: # Invoke-CpmfUipsPack -ProjectJson '.\project.json' -ConfigFile '.\uipath-pack.psd1' # # Explicit command-line parameters always override values set here. # All keys are optional — omit any key to use the built-in default. @{ # ── Output ─────────────────────────────────────────────────────────────── # Local NuGet feed directory where the staged .nupkg is copied. FeedPath = 'C:\Users\Public\nugetfeed' # ── CLI versions ───────────────────────────────────────────────────────── # Which uipcli versions to build with. Valid values: 'net6', 'net8'. # Default: @('net6') — net6 targets uipcli 23.x (.NET 6 Orchestrators) # net8 targets uipcli 25.x+ (.NET 8 Orchestrators) Targets = @('net6') # Pinned version for the net6 (classic nupkg) build path. CliVersionNet6 = '23.10.2.6' # Pinned version for the net8 (dotnet tool) build path. CliVersionNet8 = '25.10.11' # ── Library projects: multi-TFM merge ──────────────────────────────────── # Set to $true to merge lib/ TFM folders from both net6 and net8 builds # into a single nupkg. Requires Targets = @('net6', 'net8'). # Ignored (with a warning) for Process/Tests projects. MultiTfm = $false # ── Tools root ─────────────────────────────────────────────────────────── # Root directory for self-installed .NET runtimes and uipcli binaries. # net6: <ToolBase>\dotnet6\ + <ToolBase>\uipcli-<ver>\extracted\ # net8: <ToolBase>\dotnet8\ + <ToolBase>\uipcli-<ver>\ ToolBase = '%LOCALAPPDATA%\cpmf\tools' # ── Git worktree ───────────────────────────────────────────────────────── # Pack from a clean git worktree at HEAD instead of the live working # directory. Avoids Studio lock conflicts and working-dir noise. UseWorktree = $false # Parent directory for the temporary worktree (default: system temp). # WorktreeBase = 'D:\worktrees' # Place the worktree as a sibling of the git repo root instead of temp. # Useful when temp is on a different volume. WorktreeSibling = $false # ── Pack behaviour ─────────────────────────────────────────────────────── # Skip the projectVersion increment. Useful when repacking after a rollback. NoBump = $false # Skip Install-CpmfUipsPackCommandLineTool. Use when runtimes and uipcli are already in place. SkipInstall = $false # Additional arguments forwarded verbatim to uipcli, e.g.: # UipcliArgs = @('--traceLevel', 'Verbose', '--outputType', 'Tests') # UipcliArgs = @() # ── Pack backend ───────────────────────────────────────────────────────── # 'uipcli' (default), 'uipathcli', or 'workflowcompiler'. # # 'workflowcompiler' drives UiPath.WorkflowCompiler directly. It is the only # backend that can keep project sources out of the package — uipcli hardcodes # --include-sources true — and the only one that can override the package id. # net8 only: not compatible with MultiTfm or Targets net6. # Backend = 'workflowcompiler' # ── Publisher identity (workflowcompiler backend) ──────────────────────── # Shared package identity and pack policy, read from MSBuild-style XML. # Explicit parameters beat this file; this file beats env vars and config. # PublisherProps = 'D:\path\to\publisher.props' # Package id override — ships one build under a different nuspec <id> # without editing project.json. Defaults to project.json's "name". # PackageId = 'MyBrand.MyLibrary' # Ship .cs/.xaml sources inside the package under content/. Default false. # IncludeSources = $false # Compiler location. Falls back to PublisherPackWorkflowCompilerPath in the # props file, then $env:UIPATH_WORKFLOWCOMPILER_LOCATION. Never downloaded. # WorkflowCompilerPath = 'C:\...\UiPath.WorkflowCompiler.dll' # DotnetPath = 'dotnet' } |