only:
- master
-os: Visual Studio 2015
+environment:
+
+ global:
+ # Workaround for https://github.com/conda/conda-build/issues/636
+ PYTHONIOENCODING: UTF-8
+ CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
+ CMAKE_OPTIONS: ""
+ CPP_TEST_OPTIONS: ""
+
+ matrix:
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ CMAKE_VS_VERSION: "10 2010"
+ CMAKE_OPTIONS: "-DFLATBUFFERS_BUILD_LEGACY=1"
+ CPP_TEST_OPTIONS: "--std-cpp c++0x"
+ MONSTER_EXTRA: "skip"
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ CMAKE_VS_VERSION: "12 2013"
+ MONSTER_EXTRA: "skip"
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ CMAKE_VS_VERSION: "14 2015"
+ MONSTER_EXTRA: ""
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ CMAKE_VS_VERSION: "15 2017"
+ CMAKE_OPTIONS: "-DFLATBUFFERS_ENABLE_PCH=1"
+ MONSTER_EXTRA: ""
+
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+ CMAKE_VS_VERSION: "16 2019"
+ CMAKE_OPTIONS: "-DFLATBUFFERS_ENABLE_PCH=1"
+ MONSTER_EXTRA: ""
platform:
- x86
- Release
before_build:
- - cmake -G"Visual Studio 10 2010"
+ - set MONSTER_EXTRA=%MONSTER_EXTRA%
+ - cmake . -G"Visual Studio %CMAKE_VS_VERSION%" -DFLATBUFFERS_CODE_SANITIZE=1 %CMAKE_OPTIONS%
# This cuts down on a lot of noise generated by xamarin warnings.
- - del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
+ - if exist "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets" del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
+ - if exist "C:\Program Files (x86)\MSBuild\15.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets" del "C:\Program Files (x86)\MSBuild\15.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
+ - if exist "C:\Program Files (x86)\MSBuild\16.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets" del "C:\Program Files (x86)\MSBuild\16.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
build:
project: ALL_BUILD.vcxproj
verbosity: minimal
+after_build:
+ - python conan/appveyor/install.py
+ - python conan/appveyor/build.py
+
+install:
+ - set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
+ - curl -sSf -o rustup-init.exe https://win.rustup.rs/
+ - rustup-init.exe -y
+ - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
+ - rustc -V
+ - cargo -V
+
test_script:
+ - call .appveyor\check-generate-code.bat -b %CONFIGURATION%
+ - "cd tests"
+ - rem "Building all code"
+ - generate_code.bat -b %CONFIGURATION% %CPP_TEST_OPTIONS%
+ - 7z a GeneratedMyGameCode.zip MyGame\
- rem "---------------- C++ -----------------"
+ - "cd .."
- "%CONFIGURATION%\\flattests.exe"
- - rem "---------------- Java -----------------"
- "cd tests"
+ - rem "---------------- Java -----------------"
- "java -version"
- "JavaTest.bat"
+ - rem "---------------- Rust ----------------"
+ - "RustTest.bat"
- rem "---------------- JS -----------------"
- "node --version"
- - "..\\%CONFIGURATION%\\flatc -b monster_test.fbs unicode_test.json"
- - "node JavaScriptTest"
+ - "..\\%CONFIGURATION%\\flatc -b -I include_test monster_test.fbs unicode_test.json"
+ - "npm install"
+ - "npm run pretest"
+ - "node JavaScriptTest ./monster_test_generated"
+ - rem "-------------- Python ---------------"
+ - where python
+ - python --version
+ - where pip
+ - pip --version
+ - where conda
+ - conda --version
+ - rem "installing flatbuffers python library"
+ - pip install ../python
+ - rem "testing without installing Numpy"
+ - python py_test.py 0 0 0
+ - rem "testing after installing Numpy - disabled"
+ # FIXME: This has a LOT of unnecessary dependencies and makes the tests fail
+ # with timeouts.
+ # - conda install --yes numpy
+ # - python py_test.py 0 0 0
- rem "---------------- C# -----------------"
# Have to compile this here rather than in "build" above because AppVeyor only
# supports building one project??
- "cd FlatBuffers.Test"
- - "msbuild.exe /property:Configuration=Release;OutputPath=tempcs /verbosity:minimal FlatBuffers.Test.csproj"
- - "tempcs\\FlatBuffers.Test.exe"
+ - "dotnet new sln"
+ - "dotnet sln add FlatBuffers.Test.csproj"
+ - "nuget restore"
+ - "mkdir .tmp"
+ - "msbuild.exe /property:Configuration=Release;OutputPath=.tmp /verbosity:minimal FlatBuffers.Test.csproj"
+ - ".tmp\\FlatBuffers.Test.exe"
+ # Run tests with UNSAFE_BYTEBUFFER
+ - "msbuild.exe /property:Configuration=Release;UnsafeByteBuffer=true;OutputPath=.tmp /verbosity:minimal FlatBuffers.Test.csproj"
+ - ".tmp\\FlatBuffers.Test.exe"
# TODO: add more languages.
- "cd ..\\.."
artifacts:
- - path: $(CONFIGURATION)\\flatc.exe
+ - path: $(CONFIGURATION)\flatc.exe
name: flatc.exe
+ - path: tests\GeneratedMyGameCode.zip
+ name: GeneratedMyGameCode.zip