os:
  - linux
  - windows 
  
language: c

before_install:
- |-
    case $TRAVIS_OS_NAME in
      windows)
        [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
        choco uninstall -y mingw
        choco upgrade --no-progress -y msys2
        export msys2='cmd //C RefreshEnv.cmd '
        export msys2+='& set MSYS=winsymlinks:nativestrict '
        export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
        export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
        export msys2+=" -msys2 -c "\"\$@"\" --"
        $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain gcc make openssl openssl-devel zip unzip xmlto asciidoc curl awk bash
        ## Install more MSYS2 packages from https://packages.msys2.org/base here
        taskkill //IM gpg-agent.exe //F  # https://travis-ci.community/t/4967
        export PATH=/C/tools/msys64/mingw64/bin:$PATH
        export MAKE=mingw32-make  # so that Autotools can find it
        ;;
    esac

before_cache:
- |-
    case $TRAVIS_OS_NAME in
      windows)
        # https://unix.stackexchange.com/a/137322/107554
        $msys2 pacman --sync --clean --noconfirm
        ;;
    esac

cache:
    directories:
    - $HOME/AppData/Local/Temp/chocolatey
    - /C/tools/msys64
    
addons:
  apt:
    packages:
    - asciidoc
    - xmlto
     
script:
- |-
   case $TRAVIS_OS_NAME in
      windows)
        cmd //C RefreshEnv.cmd
        set MSYS=winsymlinks:nativestrict       
        C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start -msys2 -here -c ./buildwin.sh
        ;;
      linux)
        make
        make docs
        ;;
   esac
   exit 0
