branches: only: - master 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" MONSTER_EXTRA: "" - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 CMAKE_VS_VERSION: "16 2019" MONSTER_EXTRA: "" platform: - x86 - x64 configuration: - Debug - Release before_build: - 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. - 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" - "cd tests" - rem "---------------- Java -----------------" - "java -version" - "JavaTest.bat" - rem "---------------- Rust ----------------" - "RustTest.bat" - rem "---------------- JS -----------------" - "node --version" - "..\\%CONFIGURATION%\\flatc -b -I include_test monster_test.fbs unicode_test.json" - "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" - "copy ..\\monsterdata_test.mon Resources\\" - "copy ..\\monsterdata_test.json Resources\\" - "dotnet new sln" - "dotnet sln add FlatBuffers.Test.csproj" - "nuget restore" - "msbuild.exe /property:Configuration=Release;OutputPath=tempcs /verbosity:minimal FlatBuffers.Test.csproj" - "tempcs\\FlatBuffers.Test.exe" # Run tests with UNSAFE_BYTEBUFFER - "msbuild.exe /property:Configuration=Release;UnsafeByteBuffer=true;OutputPath=tempcsUnsafe /verbosity:minimal FlatBuffers.Test.csproj" - "tempcsUnsafe\\FlatBuffers.Test.exe" # TODO: add more languages. - "cd ..\\.." artifacts: - path: $(CONFIGURATION)\flatc.exe name: flatc.exe - path: tests\GeneratedMyGameCode.zip name: GeneratedMyGameCode.zip