# Build Configuration for Travis
dist: trusty

language: cpp

env:
  global:
    - CPPFLAGS=""
    - CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
    - NOCONFIGURE=1
    # COVERITY_SCAN_TOKEN
    - secure: "k6l/18dpsoPAf0E5RQWCr+rgjbHns0H3k0WzSYovCoVg0B7RVlV8x8OjyEOBzEvXI4aaHRdH6MHCPDFnX4fa7ysImlT6LxxIG8YhDdLkJWyS0hHbcJiGxko9AhAGzOZcDl8fZi13d697wagMqqXpjN5v2T/AQm8t4X9z2otJosY="

matrix:
  include:
    - os: linux
      compiler: gcc
      script:
        # Remove these two lines when Travis updated its distro
        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"

        - ./autogen.sh
        - ./configure $CONFIGURE_OPTS --enable-gtk-doc --enable-code-coverage
        - make
        - make check || .ci/fail.sh
        - rm -rf freetype-2.9
      after_success:
        - bash .ci/run-coveralls.sh # coveralls.io code coverage
        - bash <(curl -s https://codecov.io/bash) # codecov.io code coverage
        - bash .ci/deploy-docs.sh
        - bash .ci/trigger-coverity.sh

    - os: linux
      compiler: clang
      script:
        # Remove these two lines when Travis updated its distro
        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"

        - ./autogen.sh
        - ./configure $CONFIGURE_OPTS
        - make
        - make check || .ci/fail.sh

    - os: osx
      compiler: clang
      install:
        - brew update;
          # Workaround Travis/brew bug
        - brew uninstall libtool && brew install libtool
        - brew install ragel freetype glib gobject-introspection cairo graphite2 || true
        - brew upgrade icu4c || true
        - export PATH="/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:$PATH"
        - export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
      script:
        - ./autogen.sh
        - ./configure $CONFIGURE_OPTS --with-coretext
        - make
        - make check || .ci/fail.sh

notifications:
  irc: "irc.freenode.org#harfbuzz"
  email: harfbuzz-bots-chatter@googlegroups.com

addons:
  apt:
    packages:
      - pkg-config # for autogen.sh
      - ragel
      - lcov
      - gtk-doc-tools
      - libfreetype6-dev # for font function
      - libglib2.0-dev # for font functions / tests / utils
      - libcairo2-dev # for utils
      - libicu-dev # for extra unicode functions
      - libgraphite2-dev # for extra shapers
      #- libgirepository1.0-dev # for gobject-introspection

  coverity_scan:
    project:
      name: behdad/harfbuzz
      version: 1.0
      description: HarfBuzz OpenType text shaping engine
    notification_email: harfbuzz-bots-chatter@googlegroups.com
    build_command_prepend: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
    build_command: make
    branch_pattern: coverity_scan
