1version: build{build}
2image: Visual Studio 2015
3
4environment:
5  WIRESHARK_BASE_DIR: C:\wireshark-libs
6  matrix:
7    # Note: if VS2017 win32 is added, just use Qt msvc2015 (binary compatible).
8    - PLATFORM: x64
9      CMAKE_GENERATOR: Visual Studio 15 2017 Win64
10      QT5_BASE_DIR: C:\Qt\5.11\msvc2017_64
11      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
12    # x86 does not work here, cmake expects win32/Win32 (case insensitive?)
13    - PLATFORM: win32
14      CMAKE_GENERATOR: Visual Studio 14 2015
15      QT5_BASE_DIR: C:\Qt\5.11\msvc2015
16    - PLATFORM: x64
17      CMAKE_GENERATOR: Visual Studio 14 2015 Win64
18      QT5_BASE_DIR: C:\Qt\5.11\msvc2015_64
19
20cache:
21  - '%WIRESHARK_BASE_DIR%'
22  - C:\ProgramData\chocolatey\bin
23  - C:\ProgramData\chocolatey\lib
24
25install:
26  - choco install winflexbison
27  # Java is already installed, prevent an expensive upgrade (102 seconds).
28  - choco install --ignore-dependencies asciidoctorj docbook-bundle xsltproc
29  # Py2 fails the test_tshark_unicode_display_filter test, so use Py3.
30  - set PATH=C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%
31  - pip install pytest pytest-xdist
32  - ps: |   # For pkcs11 tests.
33      Invoke-WebRequest -Uri https://github.com/disig/SoftHSM2-for-Windows/releases/download/v2.5.0/SoftHSM2-2.5.0.msi -OutFile $Env:WIRESHARK_BASE_DIR\SoftHSM2-2.5.0.msi
34      & msiexec /qn /i $Env:WIRESHARK_BASE_DIR\SoftHSM2-2.5.0.msi
35
36# Note: the NSIS installer lacks debug dlls for Debug builds.
37configuration: RelWithDebInfo
38
39build:
40  parallel: true
41  project: build\Wireshark.sln
42
43before_build:
44  - perl tools/make-version.pl --set-release --untagged-version-extra=-{vcsinfo}-AppVeyor --tagged-version-extra=-AppVeyor
45  - mkdir build
46  - cd build
47  - cmake -E time cmake -G "%CMAKE_GENERATOR%" ..
48
49after_build:
50  - msbuild /m nsis_package_prep.vcxproj
51  - msbuild /m nsis_package.vcxproj
52  # Publish installers only for development branches to avoid exceeding the
53  # artifact storage limit of 50 GB.
54  - ps: |
55      if ($Env:APPVEYOR_REPO_BRANCH -notlike "master*") {
56        Get-Item packaging\nsis\Wireshark-*.exe | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
57      }
58
59before_test:
60  - msbuild /m test-programs.vcxproj
61
62test_script:
63  - pytest
64
65on_finish:
66  - ps: |
67      $Tshark = "run\\$Env:CONFIGURATION\\tshark.exe"
68      if (Test-Path $Tshark) { & $Tshark --version }
69
70deploy: off
71