@echo off setlocal set _EXITCODE=0 set _DEPSFILE=%TEMP%\consul-deps.txt go list -f "{{range .TestImports}}{{.}} {{end}}" .\... >%_DEPSFILE% set _PKGSFILE=%TEMP%\consul-pkgs.txt go list .\... >%_PKGSFILE% set _VETARGS=-asmdecl -atomic -bool -buildtags -copylocks -methods^ -nilfunc -printf -rangeloops -shift -structtags -unsafeptr if defined VETARGS set _VETARGS=%VETARGS% :deps echo --^> Installing build dependencies for /f "delims=" %%d in (%_DEPSFILE%) do go get -d -v .\... %%d if [%1]==[] goto all if x%1==xdeps goto end goto args :args for %%a in (all,cover,test,vet,updatedeps) do (if x%1==x%%a goto %%a) echo. echo Unknown make target: %1 echo Expected one of "all", "cover", "deps", "test", "vet", or "updatedeps". set _EXITCODE=1 goto end :all md bin 2>NUL call .\scripts\windows\build.bat %CD% if not errorlevel 1 goto end echo. echo BUILD FAILED set _EXITCODE=%ERRORLEVEL% goto end :cover set _COVER=--cover go tool cover 2>NUL if %ERRORLEVEL% EQU 3 go get golang.org/x/tools/cmd/cover goto test :test call .\scripts\windows\verify_no_uuid.bat %CD% if %ERRORLEVEL% EQU 0 goto _test echo. echo UUID verification failed. set _EXITCODE=%ERRORLEVEL% goto end :_test for /f "delims=" %%p in (%_PKGSFILE%) do ( go test %_COVER% %%p if errorlevel 1 set _TESTFAIL=1 ) if x%_TESTFAIL%==x1 set _EXITCODE=1 && goto end goto vet :vet go tool vet 2>NUL if %ERRORLEVEL% EQU 3 go get golang.org/x/tools/cmd/vet echo --^> Running go tool vet %_VETARGS% go tool vet %_VETARGS% . echo. if %ERRORLEVEL% EQU 0 echo ALL TESTS PASSED && goto end echo Vet found suspicious constructs. Please check the reported constructs echo and fix them if necessary before submitting the code for reviewal. set _EXITCODE=%ERRORLEVEL% goto end :updatedeps echo --^> Updating build dependencies for /f "delims=" %%d in (%_DEPSFILE%) do go get -d -f -u .\... %%d goto end :end del /F %_DEPSFILE% %_PKGSFILE% 2>NUL exit /B %_EXITCODE%