124 lines
4.1 KiB
YAML
124 lines
4.1 KiB
YAML
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'))
|