-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPublish-Project.ps1
50 lines (40 loc) · 1013 Bytes
/
Publish-Project.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#Requires -Version 7.2
[CmdletBinding()]
param (
[Parameter()]
[ValidateSet("Debug", "Release")]
[String]
$Configuration = "Debug",
[Parameter()]
[ArgumentCompletions("win10-x64", "win-x64")]
[String]
$Runtime,
[Parameter()]
[Switch]
$SelfContained,
[Parameter()]
[bool]
$PublishSingleFile = $true,
[Parameter()]
[String]
$Version,
[Parameter()]
[String]
$OutputPath,
[Parameter()]
[String]
$DotnetCliPath
)
if ($DotnetCliPath) {
Set-Alias dotnet $DotnetCliPath
}
$projectPath = Join-Path $PSScriptRoot src
dotnet publish $projectPath `
--nologo `
--configuration $Configuration `
($Runtime ? ("--runtime", $Runtime) : "--use-current-runtime") `
--self-contained $SelfContained `
--property:PublishSingleFile=$PublishSingleFile `
($SelfContained ? "--property:PublishTrimmed=True" : $null) `
($Version ? "--property:Version=$Version" : $null) `
($Runtime ? ("output", $OutputPath) : $null)