version: 3.1.0.{build}
clone_depth: 10
environment:
  LEATHERMAN_VERSION: 0.99.0
  CPPHOCON_VERSION: 0.1.4

init:
  - |
      choco install mingw-w64 -y -Version 4.8.3 -source https://www.myget.org/F/puppetlabs
      choco install -y gettext -Version 0.19.6 -source https://www.myget.org/F/puppetlabs
      cmake --version
  - ps: |
      $env:PATH = $env:PATH.Replace("Git\bin", "Git\cmd")
      $env:PATH = $env:PATH.Replace("Git\usr\bin", "Git\cmd")

      wget 'https://s3.amazonaws.com/kylo-pl-bucket/boost_1_57_0-x86_64_mingw-w64_4.8.3_win32_seh.7z' -OutFile "$env:temp\boost.7z"
      7z.exe x $env:temp\boost.7z -oC:\tools | FIND /V "ing  "

      wget 'https://s3.amazonaws.com/kylo-pl-bucket/yaml-cpp-0.5.1-x86_64_mingw-w64_4.8.3_win32_seh.7z' -OutFile "$env:temp\yaml-cpp.7z"
      7z.exe x $env:temp\yaml-cpp.7z -oC:\tools | FIND /V "ing  "

      wget 'https://s3.amazonaws.com/kylo-pl-bucket/curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z' -OutFile "$env:temp\curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z"
      7z.exe x "$env:temp\curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z" -oC:\tools | FIND /V "ing "

      wget "https://github.com/puppetlabs/leatherman/releases/download/$env:LEATHERMAN_VERSION/leatherman.7z" -OutFile "$env:temp\leatherman.7z"
      7z.exe x $env:temp\leatherman.7z -oC:\tools | FIND /V "ing "

      wget "https://github.com/puppetlabs/cpp-hocon/releases/download/$env:CPPHOCON_VERSION/cpp-hocon.7z" -OutFile "$env:temp\cpp-hocon.7z"
      7z.exe x $env:temp\cpp-hocon.7z -oC:\tools | FIND /V "ing "

install:
  - SET PATH=C:\Ruby21-x64\bin;C:\tools\mingw64\bin;C:\Program Files\gettext-iconv;%PATH%
  - bundle install --jobs 4 --retry 2 --gemfile=lib/Gemfile --quiet

build_script:
  - ps: |
      cmake -G "MinGW Makefiles" -DBOOST_ROOT="C:\tools\boost_1_57_0-x86_64_mingw-w64_4.8.3_win32_seh" -DYAMLCPP_ROOT="C:\tools\yaml-cpp-0.5.1-x86_64_mingw-w64_4.8.3_win32_seh" -DBOOST_STATIC=ON -DCURL_STATIC=ON -DCMAKE_INSTALL_PREFIX="C:\Program Files\FACTER" -DCMAKE_PREFIX_PATH="C:\tools\leatherman;C:\tools\curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh;C:\tools\cpp-hocon" .
      mingw32-make -j2

test_script:
  - ps: |
      ctest -V 2>&1 | %{ if ($_ -is [System.Management.Automation.ErrorRecord]) { $_ | c++filt } else { $_ } }
      mingw32-make install