| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # build Apache Thrift on AppVeyor - https://ci.appveyor.com |
| |
| shallow_clone: true |
| clone_depth: 10 |
| |
| version: '{build}' |
| os: |
| # - Windows Server 2012 R2 |
| - Visual Studio 2015 |
| |
| environment: |
| BOOST_ROOT: C:\Libraries\boost_1_59_0 |
| BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0 |
| # Unfurtunately, this version needs manual update because old versions are quickly deleted. |
| ANT_VERSION: 1.9.7 |
| |
| install: |
| - '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64' |
| - cd \ |
| # Zlib |
| - appveyor DownloadFile https://github.com/madler/zlib/archive/v1.2.8.tar.gz |
| - 7z x v1.2.8.tar.gz -so | 7z x -si -ttar > nul |
| - cd zlib-1.2.8 |
| - cmake -G "Visual Studio 14 2015 Win64" . |
| - cmake --build . --config release |
| - cd .. |
| # OpenSSL |
| - C:\Python35-x64\python %APPVEYOR_BUILD_FOLDER%\build\appveyor\download_openssl.py |
| - ps: Start-Process "Win64OpenSSL.exe" -ArgumentList "/silent /verysilent /sp- /suppressmsgboxes" -Wait |
| # Libevent |
| - appveyor DownloadFile https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz |
| - 7z x libevent-2.0.22-stable.tar.gz -so | 7z x -si -ttar > nul |
| - cd libevent-2.0.22-stable |
| - nmake -f Makefile.nmake |
| - mkdir lib |
| - move *.lib lib\ |
| - move WIN32-Code\event2\* include\event2\ |
| - move *.h include\ |
| - cd .. |
| - appveyor-retry cinst -y winflexbison |
| - appveyor DownloadFile http://www.us.apache.org/dist/ant/binaries/apache-ant-%ANT_VERSION%-bin.zip |
| - 7z x apache-ant-%ANT_VERSION%-bin.zip > nul |
| - cd %APPVEYOR_BUILD_FOLDER% |
| # TODO: Enable Haskell build |
| # - cinst HaskellPlatform -version 2014.2.0.0 |
| |
| |
| build_script: |
| - set PATH=C:\ProgramData\chocolatey\bin;C:\apache-ant-%ANT_VERSION%\bin;%PATH% |
| - set JAVA_HOME=C:\Program Files\Java\jdk1.7.0 |
| - set PATH=%JAVA_HOME%\bin;%PATH% |
| # - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\bin |
| # - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\lib\extralibs\bin |
| - set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH% |
| - pip install ipaddress backports.ssl_match_hostname tornado twisted |
| - mkdir cmake-build |
| - cd cmake-build |
| - cmake -G "Visual Studio 14 2015 Win64" -DWITH_SHARED_LIB=OFF -DLIBEVENT_ROOT=C:\libevent-2.0.22-stable -DZLIB_INCLUDE_DIR=C:\zlib-1.2.8 -DZLIB_LIBRARY=C:\zlib-1.2.8\release\zlibstatic.lib -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" .. |
| - findstr /b /e BUILD_COMPILER:BOOL=ON CMakeCache.txt |
| - findstr /b /e BUILD_CPP:BOOL=ON CMakeCache.txt |
| - findstr /b /e BUILD_JAVA:BOOL=ON CMakeCache.txt |
| - findstr /b /e BUILD_PYTHON:BOOL=ON CMakeCache.txt |
| # - findstr /b /e BUILD_C_GLIB:BOOL=ON CMakeCache.txt |
| # - findstr /b /e BUILD_HASKELL:BOOL=ON CMakeCache.txt |
| - findstr /b /e BUILD_TESTING:BOOL=ON CMakeCache.txt |
| # - cmake --build . |
| - cmake --build . --config Release |
| # TODO: Fix cpack |
| # - cpack |
| # TODO: Run more tests |
| # CTest fails to invoke ant seemingly due to "ant.bat" v.s. "ant" (shell script) conflict. |
| # Currently, everything that involves OpenSSL seems to hang forever on our Appveyor setup. |
| # Also a few C++ tests hang (on Appveyor or on Windows in general). |
| - ctest -C Release --timeout 600 -VV -E "(StressTestNonBlocking|PythonTestSSLSocket|python_test$|^Java)" |
| # TODO make it perfect ;-r |