environment:
  global:
    COMPILE: compile
    TEST_COMPILE: test:compile
    TEST_SUITE: test
  matrix:
    - SCALA_VERSION: 2.11.11
    - SCALA_VERSION: 2.12.3

install:
  - ps: |
      Add-Type -AssemblyName System.IO.Compression.FileSystem
      if (!(Test-Path -Path "C:\sbt\lib\local-preloaded\org.scala-sbt\sbt\0.13.15\jars\sbt.jar" )) {
        (new-object System.Net.WebClient).DownloadFile(
          'https://dl.bintray.com/sbt/native-packages/sbt/0.13.15/sbt-0.13.15.zip',
          'C:\sbt-0.13.15.zip'
        )
        [System.IO.Compression.ZipFile]::ExtractToDirectory("C:\sbt-0.13.15.zip", "C:\")
      }
  - cmd: SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0
  - cmd: SET PATH=C:\sbt\bin;%JAVA_HOME%\bin;%PATH%

build_script:
  - sbt "; ++%SCALA_VERSION% %COMPILE%; ++%SCALA_VERSION% %TEST_COMPILE%"
test_script:
  - sbt "; ++%SCALA_VERSION% %TEST_SUITE%"

environment:
  global:
    COMPILE: compile
    TEST_COMPILE: test:compile
    TEST_SUITE: test
  matrix:
    - SCALA_VERSION: 2.11.11
    - SCALA_VERSION: 2.12.3

install:
  - ps: |
      Add-Type -AssemblyName System.IO.Compression.FileSystem
      if (!(Test-Path -Path "C:\sbt\lib\local-preloaded\org.scala-sbt\sbt\0.13.15\jars\sbt.jar" )) {
        (new-object System.Net.WebClient).DownloadFile(
          'https://dl.bintray.com/sbt/native-packages/sbt/0.13.15/sbt-0.13.15.zip',
          'C:\sbt-0.13.15.zip'
        )
        [System.IO.Compression.ZipFile]::ExtractToDirectory("C:\sbt-0.13.15.zip", "C:\")
      }
  - cmd: SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0
  - cmd: SET PATH=C:\sbt\bin;%JAVA_HOME%\bin;%PATH%

build_script:
  - sbt "; ++%SCALA_VERSION% %COMPILE%; ++%SCALA_VERSION% %TEST_COMPILE%"
test_script:
  - sbt "; ++%SCALA_VERSION% %TEST_SUITE%"

cache:
  - C:\sbt -> appveyor.yml
  - C:\Users\appveyor\.ivy2 -> appveyor.yml
  - C:\Users\appveyor\.coursier -> appveyor.yml 

Add Caching to Reduce Build Time
Add Caching to Reduce Build Time
