#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License
#

sudo: false
language: cpp
compiler:
- gcc
- clang


matrix:
  include:
  - os: linux
    env:
    - QPID_PROTON_CMAKE_ARGS='-DCMAKE_BUILD_TYPE=Coverage'
    after_success:
    - bash <(curl -s https://codecov.io/bash)

  - os: osx
    osx_image: xcode7.3
    env:
    - PKG_CONFIG_PATH='/usr/local/opt/openssl/lib/pkgconfig'
    - PATH="/usr/local/opt/python/libexec/bin:/usr/local/bin:$PATH"
    - QPID_PROTON_CMAKE_ARGS='-DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DBUILD_RUBY=NO'
    before_install:
    - brew update
    - brew upgrade cmake python openssl
    - brew install libuv swig

  - os: osx
    osx_image: xcode9
    env:
    - PKG_CONFIG_PATH='/usr/local/opt/openssl/lib/pkgconfig'
    - PATH="/usr/local/opt/python/libexec/bin:/usr/local/bin:$PATH"
    - QPID_PROTON_CMAKE_ARGS='-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DBUILD_RUBY=NO'
    before_install:
    - brew update
    - brew upgrade cmake python openssl
    - brew install libuv swig

# Note addons is apt specific at the moment and will not be applied for osx.
# See before_install brew commands below
addons:
  apt:
    packages:
    - cmake
    - libssl-dev
    - libsasl2-dev
    - sasl2-bin
    - swig
    - python-dev
    - valgrind
    - ruby
    - ruby-dev
    - python3-dev
    - golang
    - lcov

install:
- python -m pip install --user --upgrade pip
- python -m pip install --user coverage tox
- gem install minitest

before_script:
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/install ${QPID_PROTON_CMAKE_ARGS}

script:
- cmake --build . --target install && ctest -V ${QPID_PROTON_CTEST_ARGS}

