image: - Previous Visual Studio 2015 environment: ANDROID_HOME: "C:\\android" matrix: - nodejs_version: "4" - nodejs_version: "6" - nodejs_version: "8" init: - mkdir "%ANDROID_HOME% - cd "%ANDROID_HOME%" - appveyor DownloadFile "https://dl.google.com/android/repository/tools_r25.2.3-windows.zip" - 7z x "tools_r25.2.3-windows.zip" > nul - cd "C:\projects\cordova-android" install: - choco install gradle -version 3.4.1 - gradle -version - echo y | "%ANDROID_HOME%\tools\android.bat" --silent update sdk --no-ui --all --filter platform-tools,tools,build-tools-26.0.2,android-26,android-25,extra-google-m2repository,extra-android-m2repository # on windows we need to accept sublicenses for the new tooling, wee. 30 is an arbitrary number, # but should be the maximum number of licenses we explicitly need to type "Y ENTER" for. # also, the sdkmanager in all its glory leaks a bit of output to stderr, and powershell # and appveyor interpret that as errors, and blows up. so, when piping in our "Y ENTER" # responses, we invoke cmd so we can redirect stderr to stdout, and tell it to --update itself. - ps: for($i=0;$i -lt 30;$i++) { $response += "y`n"}; $response | cmd /c 'C:\android\tools\bin\sdkmanager.bat 2>&1' --update - ps: Install-Product node $env:nodejs_version - npm install # below is a workaround on using gradle installed via choco on appveyor - set path=C:\ProgramData\chocolatey\lib\gradle\tools\gradle-3.4.1\bin;%path% build: off test_script: - node --version - npm --version - npm test