@@ -6,20 +6,37 @@ Restores all NuGet, NPM and Typings packages necessary to build this repository.
66Param (
77)
88
9- Write-Host " Restoring NuGet packages..." - ForegroundColor Yellow
10- if ($PSCmdlet.ShouldProcess (" $PSScriptRoot \src" , " nuget restore" )) {
11- nuget restore " $PSScriptRoot \src" - Verbosity quiet
12- }
9+ Push-Location $PSScriptRoot
10+ try {
11+ $toolsPath = " $PSScriptRoot \tools"
1312
14- Write-Host " Restoring NPM packages..." - ForegroundColor Yellow
15- Push-Location " $PSScriptRoot \src\nerdbank-gitversioning.npm"
16- if ($PSCmdlet.ShouldProcess (" $PSScriptRoot \src\nerdbank-gitversioning.npm" , " npm install" )) {
17- npm install -- loglevel error
18- }
13+ # First restore NuProj packages since the solution restore depends on NuProj evaluation succeeding.
14+ gci " $PSScriptRoot \src\project.json" - rec | ? { $_.FullName -imatch ' nuget' } | % {
15+ & " $toolsPath \Restore-NuGetPackages.ps1" - Path $_ - Verbosity Quiet
16+ }
1917
20- Write-Host " Restoring Typings..." - ForegroundColor Yellow
21- if ($PSCmdlet.ShouldProcess (" $PSScriptRoot \src\nerdbank-gitversioning.npm" , " typings install" )) {
22- .\node_modules\.bin\typings install
23- }
18+ # Restore VS solution dependencies
19+ gci " $PSScriptRoot \src" - rec | ? { $_.FullName.EndsWith (' .sln' ) } | % {
20+ & " $toolsPath \Restore-NuGetPackages.ps1" - Path $_.FullName - Verbosity Quiet
21+ }
22+
23+ Write-Host " Restoring NPM packages..." - ForegroundColor Yellow
24+ Push-Location " $PSScriptRoot \src\nerdbank-gitversioning.npm"
25+ if ($PSCmdlet.ShouldProcess (" $PSScriptRoot \src\nerdbank-gitversioning.npm" , " npm install" )) {
26+ npm install -- loglevel error
27+ }
2428
25- Pop-Location
29+ Write-Host " Restoring Typings..." - ForegroundColor Yellow
30+ if ($PSCmdlet.ShouldProcess (" $PSScriptRoot \src\nerdbank-gitversioning.npm" , " typings install" )) {
31+ .\node_modules\.bin\typings install
32+ }
33+
34+ Write-Host " Successfully restored all dependencies" - ForegroundColor Yellow
35+ }
36+ catch {
37+ Write-Error " Aborting script due to error"
38+ exit $lastexitcode
39+ }
40+ finally {
41+ Pop-Location
42+ }
0 commit comments