summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2015-08-07 19:48:06 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2015-08-12 18:27:20 +0100
commit9aa0f85cdacff59180cde416d5b10406cff1bda1 (patch)
tree9094fa5e656754e5a68e14225e00c002feaa16e9 /Tools
parent834a93f449bae04602c822cf8fd087814069772e (diff)
downloadswig-9aa0f85cdacff59180cde416d5b10406cff1bda1.tar.gz
Workaround Appveyor random failures due to nuget install errors
Add and use nuget-install.cmd based on https://github.com/appveyor/ci/blob/master/scripts/nuget-restore.cmd
Diffstat (limited to 'Tools')
-rw-r--r--Tools/nuget-install.cmd28
1 files changed, 28 insertions, 0 deletions
diff --git a/Tools/nuget-install.cmd b/Tools/nuget-install.cmd
new file mode 100644
index 000000000..08caea7e0
--- /dev/null
+++ b/Tools/nuget-install.cmd
@@ -0,0 +1,28 @@
+rem Workaround 'nuget install' not being reliable by retrying a few times
+
+@echo off
+rem initiate the retry number
+set errorCode=1
+set retryNumber=0
+set maxRetries=5
+
+:RESTORE
+nuget install %*
+
+rem problem?
+IF ERRORLEVEL %errorCode% GOTO :RETRY
+
+rem everything is fine!
+GOTO :EXIT
+
+:RETRY
+@echo Oops, nuget restore exited with code %errorCode% - let us try again!
+set /a retryNumber=%retryNumber%+1
+IF %reTryNumber% LSS %maxRetries% (GOTO :RESTORE)
+IF %retryNumber% EQU %maxRetries% (GOTO :ERR)
+
+:ERR
+@echo Sorry, we tried restoring nuget packages for %maxRetries% times and all attempts were unsuccessful!
+EXIT /B 1
+
+:EXIT