forked from MicrosoftDX/nether
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.ps1
102 lines (92 loc) · 2.53 KB
/
build.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
param(
[switch] $NoDotNetRestore,
[string] $BuildVersion = ""
)
$here = Split-Path -Parent $MyInvocation.MyCommand.Path
dotnet --version
Write-Output ""
Write-Output "*** Restoring packages"
$buildExitCode = 0
if ($NoDotNetRestore) {
Write-Output "*** Skipping package restore"
}
else {
$buildExitCode = 0
Get-Content "$here\build\build-order.txt" `
| Where-Object { $_ -ne "" } `
| ForEach-Object {
Write-Output "*** dotnet restore $_"
dotnet restore $_
if ($LASTEXITCODE -ne 0) {
$buildExitCode = $LASTEXITCODE
}
if ($buildExitCode -ne 0) {
Write-Output ""
Write-Output "*** Restore failed ($_) - exit code $buildExitCode"
exit $buildExitCode
}
}
}
Write-Output ""
Write-Output "*** Set versions"
$buildExitCode = 0
if ($BuildVersion -eq "") {
Write-Output "*** Skipping setting versions"
}
else {
Get-Content "$here\build\build-versioned-projects.txt" `
| Where-Object { $_ -ne "" } `
| ForEach-Object {
Write-Output "*** dotnet setversion $BuildVersion [$_]"
Push-Location
Set-Location $_
try {
dotnet setversion $BuildVersion
if ($LASTEXITCODE -ne 0) {
$buildExitCode = $LASTEXITCODE
}
}
finally {
Pop-Location
}
if ($buildExitCode -ne 0) {
Write-Output ""
Write-Output "*** SetVersion failed ($_) - exit code $buildExitCode"
exit $buildExitCode
}
}
}
# want to do this, but need to figure it out for xplat
# Write-Output ""
# Write-Output "*** Building solution"
# $buildExitCode=0
# dotnet msbuild .\Nether.sln
# if ($LASTEXITCODE -ne 0){
# $buildExitCode = $LASTEXITCODE
# }
# if($buildExitCode -ne 0) {
# Write-Output ""
# Write-Output "*** Build failed"
# exit $buildExitCode
# }
# Build!
Write-Output ""
Write-Output "*** Building projects"
$buildExitCode = 0
Get-Content "$here\build\build-order.txt" `
| Where-Object { $_ -ne "" } `
| ForEach-Object {
Write-Output "*** dotnet build $_"
dotnet build $_
if ($LASTEXITCODE -ne 0) {
$buildExitCode = $LASTEXITCODE
}
if ($buildExitCode -ne 0) {
Write-Output ""
Write-Output "*** Build failed"
exit $buildExitCode
}
}
Write-Output "*** Build completed"