environment:
  ANDROID_HOME: "C:\\android-sdk-windows"
  ANDROID_NDK_HOME: "C:\\android-sdk-windows\\ndk-bundle"
  JAVA_HOME: "C:\\Program Files\\Java\\jdk1.8.0"
  BORINGSSL_HOME: "C:\\boringssl"
  ANDROID_TOOLS_URL: "https://dl.google.com/android/repository/tools_r25.2.3-windows.zip"
  NINJA_URL: "https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
  CMAKE_URL: "https://cmake.org/files/v3.4/cmake-3.4.0-win32-x86.zip"
  MSVC: "14.0"

clone_folder: "C:\\projects\\conscrypt"
shallow_clone: true

os: Visual Studio 2015

platform:
  # - x86
  - x64

version: '{branch}.{build}'

pull_requests:
    do_not_increment_build_number: true

build:
    verbosity: minimal

init:
  # Download the Android SDK
  - appveyor DownloadFile %ANDROID_TOOLS_URL% -FileName android-tools.zip
  - 7z x android-tools.zip -o"%ANDROID_HOME%" > nul

  # Get Ninja
  - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
  - 7z x ninja.zip -oC:\ninja > nul
  - set PATH=C:\ninja;%PATH%
  - ninja --version

  # Get CMake
  - appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
  - 7z x cmake.zip -oC:\cmake > nul
  - set PATH=C:\cmake\bin;%PATH%
  - cmake --version

  # Install yasm
  - choco install -y yasm

  # Install Go for BoringSSL compile (embedding test data)
  - choco install -y golang

  # Clone BoringSSL
  - git clone --depth 1 https://boringssl.googlesource.com/boringssl.git "%BORINGSSL_HOME%"

  # Work around gradle bug https://github.com/gradle/gradle/issues/929
  - set PATH=C:\Program Files (x86)\Windows Kits\8.1\bin\x86;%PATH%

before_build:
  # Set up Visual Studio in 64-bit mode
  - call "C:\Program Files (x86)\Microsoft Visual Studio %MSVC%\VC\vcvarsall.bat" x64

  # Build BoringSSL in 64-bit
  - cd "%BORINGSSL_HOME%"
  - mkdir build64
  - cd build64
  - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE=/MT -DCMAKE_CXX_FLAGS_RELEASE=/MT -GNinja ..
  - ninja

  # Set up Visual Studio in 32-bit mode
  - call "C:\Program Files (x86)\Microsoft Visual Studio %MSVC%\VC\vcvarsall.bat"

  # TODO(nathanmittler): Need to figure out how to make 32-bit builds work
  # Build BoringSSL in 32-bit
  # - cd "%BORINGSSL_HOME%"
  # - mkdir build32
  # - cd build32
  # - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE=/MT -DCMAKE_CXX_FLAGS_RELEASE=/MT -GNinja ..
  # - ninja

  # Go to project directory
  - cd C:\projects\conscrypt

install:
  - mkdir %ANDROID_HOME%\licenses
  - ps: 'Add-Content -Value "`n8933bad161af4178b1185d1a37fbf41ea5269c55" -Path $env:ANDROID_HOME\licenses\android-sdk-license -Encoding ASCII'
  - ps: 'Add-Content -Value "`n84831b9409646a918e30573bab4c9c91346d8abd`n504667f4c0de7af1a06de9f4b1727b84351f2910" -Path $env:ANDROID_HOME\licenses\android-sdk-preview-license -Encoding ASCII'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat tools'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat platform-tools'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat build-tools;25.0.0'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat platforms;android-25'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat extras;android;m2repository'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat --channel=1 ndk-bundle'
  - '%ANDROID_HOME%\tools\bin\sdkmanager.bat cmake;3.6.4111459'

build_script:
  - gradlew.bat assemble

test_script:
  - gradlew.bat check

after_test:
  - ps: |
      $url = "https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)"
      $files = Get-ChildItem '.\openjdk\build\test-results\windows_x86_64Test\TEST-*.xml'
      ForEach ($file in $files) {
          (New-Object 'System.Net.WebClient').UploadFile($url, (Resolve-Path $file))
      }

artifacts:
  - path: openjdk\build\reports\
    name: Test reports
  - path: openjdk\build\libs\*.jar
    name: OpenJDK binaries
  - path: android\build\outputs\aar\*.aar
    name: Android binaries

cache:
  - "%USERPROFILE%\\.m2"
  - "%USERPROFILE%\\.gradle"
  - C:\ProgramData\chocolatey\bin
  - C:\ProgramData\chocolatey\lib

# Debug
#on_finish:
#  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
