mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
Problem: Testing with Python on AppVeyor does not work properly. Solution: Fix typo. Move most lines to the .bat file. (Christopher Plewright, closes #11828)
115 lines
3.0 KiB
Batchfile
115 lines
3.0 KiB
Batchfile
@echo off
|
|
:: Batch file for building/testing Vim on AppVeyor
|
|
set target=%1
|
|
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
cd %APPVEYOR_BUILD_FOLDER%
|
|
|
|
:: Python3
|
|
set PYTHON3_VER=311
|
|
set PYTHON3_RELEASE=3.11.1
|
|
set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe
|
|
set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64
|
|
|
|
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
|
|
|
if exist "%VSWHERE%" (
|
|
for /f "usebackq delims=" %%i in (
|
|
`"%VSWHERE%" -products * -latest -property installationPath`
|
|
) do (
|
|
set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
|
)
|
|
)
|
|
|
|
if not exist "%VCVARSALL%" (
|
|
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
|
|
)
|
|
call "%VCVARSALL%" x64
|
|
|
|
goto %target%
|
|
echo Unknown build target.
|
|
exit 1
|
|
|
|
:: ----------------------------------------------------------------------------
|
|
:install
|
|
@echo on
|
|
if not exist downloads mkdir downloads
|
|
|
|
:: Python 3
|
|
if not exist %PYTHON3_DIR% (
|
|
call :downloadfile %PYTHON3_URL% downloads\python3.exe
|
|
cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^
|
|
Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^
|
|
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
|
|
InstallLauncherAllUsers=0
|
|
)
|
|
@echo off
|
|
goto :eof
|
|
|
|
:: ----------------------------------------------------------------------------
|
|
:build
|
|
|
|
cd src
|
|
|
|
echo "Building MSVC 64bit console Version"
|
|
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
|
FEATURES=%FEATURE%
|
|
if not exist vim.exe (
|
|
echo Build failure.
|
|
exit 1
|
|
)
|
|
|
|
:: build MSVC huge version with python and channel support
|
|
:: GUI needs to be last, so that testing works
|
|
echo "Building MSVC 64bit GUI Version"
|
|
if "%FEATURE%" == "HUGE" (
|
|
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
|
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
|
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
|
FEATURES=%FEATURE%
|
|
) ELSE (
|
|
nmake -f Make_mvc.mak CPU=AMD64 ^
|
|
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
|
FEATURES=%FEATURE%
|
|
)
|
|
if not exist gvim.exe (
|
|
echo Build failure.
|
|
exit 1
|
|
)
|
|
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt || exit 1
|
|
|
|
echo "version output MSVC console"
|
|
.\vim --version || exit 1
|
|
echo "version output MSVC GUI"
|
|
type ver_msvc.txt || exit 1
|
|
|
|
goto :eof
|
|
|
|
:: ----------------------------------------------------------------------------
|
|
:test
|
|
@echo on
|
|
cd src/testdir
|
|
:: Testing with MSVC gvim
|
|
path %PYTHON3_DIR%;%PATH%
|
|
nmake -f Make_mvc.mak VIMPROG=..\gvim
|
|
nmake -f Make_mvc.mak clean
|
|
:: Testing with MSVC console version
|
|
nmake -f Make_mvc.mak VIMPROG=..\vim
|
|
|
|
@echo off
|
|
goto :eof
|
|
|
|
:: ----------------------------------------------------------------------------
|
|
:downloadfile
|
|
:: call :downloadfile <URL> <localfile>
|
|
if not exist %2 (
|
|
curl -f -L %1 -o %2
|
|
)
|
|
if ERRORLEVEL 1 (
|
|
rem Retry once.
|
|
curl -f -L %1 -o %2 || exit 1
|
|
)
|
|
@goto :eof
|