From 35b595387a47572254185936762328769926f8ae Mon Sep 17 00:00:00 2001 From: coderdad Date: Tue, 30 Aug 2016 08:20:09 -0400 Subject: [PATCH 1/2] Working directory fix for submodule update The git submodule update for googletest must be run from the script's root directory --- build.psm1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.psm1 b/build.psm1 index c5748605577..4661efdf25f 100644 --- a/build.psm1 +++ b/build.psm1 @@ -665,9 +665,11 @@ function Start-PSBootstrap { try { # Update googletest submodule for linux native cmake if ($IsLinux -or $IsOSX) { + Push-Location $PSScriptRoot $Submodule = "$PSScriptRoot/src/libpsl-native/test/googletest" Remove-Item -Path $Submodule -Recurse -Force -ErrorAction SilentlyContinue git submodule update --init -- $submodule + Pop-Location } # Install ours and .NET's dependencies From cb94fcb77490a5069434b8e6318fda4436fc7c72 Mon Sep 17 00:00:00 2001 From: coderdad Date: Wed, 31 Aug 2016 20:00:53 -0400 Subject: [PATCH 2/2] Added try-finally block around Push-Location Great recommendation from @vors! The edit is a best practice incase the user Ctrl-C's out of the script. Tested locally by exiting out of: try { Push-Location C:\Users\; Start-Sleep -Seconds 60 } finally { Pop-Location } --- build.psm1 | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/build.psm1 b/build.psm1 index 4661efdf25f..cea4129a6e2 100644 --- a/build.psm1 +++ b/build.psm1 @@ -665,11 +665,14 @@ function Start-PSBootstrap { try { # Update googletest submodule for linux native cmake if ($IsLinux -or $IsOSX) { - Push-Location $PSScriptRoot - $Submodule = "$PSScriptRoot/src/libpsl-native/test/googletest" - Remove-Item -Path $Submodule -Recurse -Force -ErrorAction SilentlyContinue - git submodule update --init -- $submodule - Pop-Location + try { + Push-Location $PSScriptRoot + $Submodule = "$PSScriptRoot/src/libpsl-native/test/googletest" + Remove-Item -Path $Submodule -Recurse -Force -ErrorAction SilentlyContinue + git submodule update --init -- $submodule + } finally { + Pop-Location + } } # Install ours and .NET's dependencies