
sudo: required
dist: trusty
language: c
env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "Uodrn3x36plX2yk4+c7eimCuv7j6p6n1XCNbNEYxibRX77730eQMCVS0BvM40OgD7m5K9s2hIQaMV7EMj3qKuRmemULDVJVTgNd1fbx6t4BhYh+Hrf6FhsNcm9nFxvQQrdJAVSOwIAlrUilVFotDRt9qKqLwwZiBKIs5gBPcHQY="

addons:
    coverity_scan:
      project:
        name: "DaveDavenport/rofi"
        description: "Build submitted via Travis CI"
      notification_email: qball@gmpclient.org
      build_command_prepend: "autoreconf -i;./configure; make clean"
      build_command:   "make"
      branch_pattern: coverity_scan
    apt:
        packages:
            - autoconf
            - automake
            - make
            - xutils-dev
            - libpango1.0-dev
            - libcairo2-dev
            - libstartup-notification0-dev
            - libxcb-icccm4-dev
            - libxcb-util0-dev
            - libxcb-xinerama0-dev
            - libxcb-xkb-dev
            - libxcb1-dev
            - xvfb
            - discount
            - xdotool
            - fluxbox
            - gdb
            - lcov
            - doxygen
            - graphviz

compiler:
    - gcc

before_install:
    - sudo add-apt-repository -y 'deb http://debian.jpleau.ca/ jessie-backports main contrib non-free'
    - sudo apt-get update -qq
    - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-


# TODO: We install xkbcommon here, until Travis use an up-to-date enough Ubuntu
# TODO: We install libxcb-ewmh-dev here, until it is whitelisted again in Travis
install:
    - sudo apt-get install -y --force-yes libxkbcommon-dev libxkbcommon-x11-dev libxcb-ewmh-dev

before_script:
    - git clone --recursive https://github.com/Airblader/xcb-util-xrm.git
    - cd xcb-util-xrm 
    - ./autogen.sh --prefix=/usr
    - make
    - sudo make install
    - cd -
    - autoreconf -i
    - ./configure --enable-gcov --enable-drun

script:
    - make
    - make check
# to re-enable if xdotool is allowed.
    - make test-x
    - make test-x1
    - make coverage-cli
      #    - gcov source/rofi.c
    - make distcheck
    - git clone https://github.com/alobbs/doxy-coverage
    - make doxy 2>&1 | tee doxygen.log 
    - test $(grep -c warning doxygen.log) -eq 0
    - ./doxy-coverage/doxy-coverage.py doc/html/xml/

after_success:
      - bash <(curl -s https://codecov.io/bash)

