matrix:
  include:

    # ICU4C Docs Build
    #    TODO: publish the latest built docs from master on GitHub pages.
    #          See https://gist.github.com/vidavidorra/548ffbcdae99d752da02 for ideas.
    - name:     "c: docs"
      dist:     xenial
      language: cpp
      addons:
         apt:
           update: true
           packages:
             - doxygen
      before_script:
        - cd icu4c/source
        - ./runConfigureICU Linux --disable-renaming
      script:
        # fail if 'warning:' appears in doxygen's output, but ignore warnings from file Doxyfile.
        # The Doxygen version from Travis is down-rev, and doesn't recognize some options
        # in the Doxyfile config file.
        # Regex note: (?! ... ) is a negative lookahead. Succeed if the pattern is not present.
        - set +o pipefail && make doc 2>&1 | tee doxygen.log && ( ! grep -P 'warning:(?! .* file Doxyfile)' doxygen.log )


    - name: "j"
      language: java
      addons:
        apt:
          packages:
            - ant
            - ant-optional
      env:      BUILD=ICU4J
      before_script:
        - cd icu4j
        - ant init
      script:
        - ant check
      after_failure:
          -  cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`

    # gcc debug build.
    # Includes dependency checker.
    # Note - the dependency checker needs to be run on both a debug and an optimized build.
    # This one (gcc) for debug, and linux clang (below) for optimized.
    #
    # Test both out-of-source and in-source builds. This one (gcc) for out-of-source,
    # and linux clang (below) for in-source.
    #
    # Invokes test/hdrtst to check public headers compliance.

    - name: "c: linux gcc"
      dist:     xenial
      language: cpp
      compiler: gcc
      env:      PREFIX=/tmp/icu-prefix
      before_script:
        - mkdir build
        - cd build
        - ../icu4c/source/runConfigureICU --enable-debug --disable-release Linux --prefix="${PREFIX}" --enable-tracing
        - make -j2
      script:
        - make -j2 check
        - ( cd ../icu4c/source/test/depstest && ./depstest.py ../../../../build/ )
        - make install
        - PATH="${PREFIX}/bin:$PATH" make -C test/hdrtst check

    # clang release build with some options to enforce useful constraints.
    # Includes dependency checker on an in-source, optimized build.
    # Includes checking @draft etc. API tags vs. ifndef guards like
    # U_HIDE_DRAFT_API and U_FORCE_HIDE_DRAFT_API.
    # (FORCE guards make this tool pass but won't compile to working code.
    # See the testtagsguards.sh script for details.)
    - name: "c: linux clang"
      dist:     xenial
      language: cpp
      env:
        - CPPFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
        - CFLAGS="-Wimplicit-fallthrough"
        - CXXFLAGS="-Wimplicit-fallthrough"
      compiler: clang
      before_install:
        - sudo apt-get -y install doxygen  # for make dist
      before_script:
        - cd icu4c/source
        - ./runConfigureICU Linux
        - make -j2
      script:
        - make -j2 check
        - ( cd test/depstest && python3 depstest.py ../../../source/ )
        - ( cd .. && source/test/hdrtst/testtagsguards.sh )
        - make dist # not sure if this is -j safe everywhere.

    - name: "c: osx clang"
      language: cpp
      env:      BUILD=MACINTOSH
      os:       osx
      compiler: clang
      # Use the macOS target to test Python 2 in data build script.
      # TODO(ICU-20301): Change this back to the default Python version 3.
      script:   cd icu4c/source && PYTHON=python2 ./runConfigureICU MacOSX && make -j2 check

    # Clang Linux with address sanitizer.
    # Note - the 'sudo: true' option forces Travis to use a Virtual machine on GCE instead of
    #        a Container on EC2 or Packet. Asan builds of ICU fail otherwise.
    - name: "c: linux asan"
      language: cpp
      env:
        - CPPFLAGS="-fsanitize=address"
        - LDFLAGS="-fsanitize=address"
      os:       linux
      dist:     xenial
      sudo:     true
      compiler: clang
      before_script:
        - cd icu4c/source
        - ./runConfigureICU --enable-debug --disable-release Linux --disable-renaming --enable-tracing
        - make -j2
      script:
        - make -j2 check


    # Clang Linux with thread sanitizer.
    #
    - name: "c: linux tsan"
      language: cpp
      env:
          - INTLTEST_OPTS="utility/MultithreadTest"
          - CPPFLAGS="-fsanitize=thread"
          - LDFLAGS=-fsanitize=thread
      os:       linux
      dist:     xenial
      sudo:     true
      compiler: clang
      script:
          - cd icu4c/source
          - ./runConfigureICU --enable-debug --disable-release Linux --disable-renaming
          - make -j2
          - make -j2 -C test
          - make -j2 -C test/intltest check

    # copyright scan / future linter
    - name: "lint"
      script:
          - perl tools/scripts/cpysearch/cpyscan.pl

    - name: "j: icu4c release tools"
      language: "java"
      script:
        - mvn -f tools/release/java/pom.xml package dependency:analyze
      cache:
        directories:
        - $HOME/.m2
