blob: de71555e78577108e2be6732916d8374105ec82f [file] [log] [blame]
sudo: required
group: deprecated-2017Q2
language: c
env:
global:
- COVERITY_SCAN_BUILD_COMMAND="make"
- COVERITY_SCAN_PROJECT_NAME="Apache Celix"
- COVERITY_SCAN_NOTIFICATION_EMAIL="bpetri@apache.org"
- COVERITY_SCAN_BRANCH_PATTERN="develop"
- COVERITY_SCAN_TOKEN="iomLSuaE8KOZLDog-KK7Ug"
- COVERITY_SCAN_BUILD_URL="https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"
- COVERITY_SCAN_BUILD="curl -s $COVERITY_SCAN_BUILD_URL | sed 's/https:\/\/scan.coverity.com\/builds/https:\/\/scan.coverity.com\/builds?project=Apache+Celix/g' | bash"
- COVERITY_SCAN_ALWAYS_ON="n"
- MACOSX_DEPLOYMENT_TARGET=10.11
matrix:
include:
- os: linux
dist: bionic
compiler: gcc
name: "Ubuntu Bionic (18) gcc"
#DISABLED ANDROID BUILD
# - os: linux
#dist: trusty
#compiler: clang
#env: ANDROID=1
#services: docker
before_install:
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ -z "$ANDROID" ]; then sudo apt-get -qq update && sudo apt-get install -y build-essential cmake libcurl4-openssl-dev uuid-dev libxml2-dev lcov libffi-dev libczmq-dev libcpputest-dev libjansson-dev; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update && brew install lcov libffi zeromq czmq openssl jansson cpputest && brew link --force libffi; fi
before_script:
- mkdir build install
- export BUILD_OPTIONS=" \
-DBUILD_REMOTE_SERVICE_ADMIN=ON \
-DBUILD_RSA_REMOTE_SERVICE_ADMIN_DFI=ON \
-DBUILD_DEPLOYMENT_ADMIN=ON \
-DBUILD_DEPENDENCY_MANAGER=ON \
-DBUILD_EXAMPLES=ON -DBUILD_LOG_SERVICE=ON \
-DBUILD_LOG_WRITER=ON \
-DBUILD_RSA_DISCOVERY_CONFIGURED=ON \
-DBUILD_RSA_DISCOVERY_ETCD=ON \
-DBUILD_RSA_EXAMPLES=ON \
-DBUILD_REMOTE_SHELL=ON \
-DBUILD_SHELL=ON \
-DBUILD_SHELL_TUI=ON -DBUILD_DEVICE_ACCESS=ON \
-DBUILD_DEVICE_ACCESS_EXAMPLE=ON \
-DBUILD_HTTP_ADMIN=ON "
- export BUILD_OPTIONS_LINUX=" \
-DBUILD_RSA_REMOTE_SERVICE_ADMIN_SHM=OFF \
-DBUILD_PUBSUB=ON \
-DBUILD_PUBSUB_PSA_TCP=ON \
-DBUILD_PUBSUB_PSA_UDP_MC=ON \
-DBUILD_PUBSUB_PSA_WS=ON \
-DBUILD_PUBSUB_PSA_ZMQ=ON \
-DBUILD_PUBSUB_TESTS=ON \
-DBUILD_RSA_DISCOVERY_SHM=ON "
- export BUILD_OPTIONS_OSX=" \
-DBUILD_RSA_REMOTE_SERVICE_ADMIN_SHM=OFF \
-DBUILD_PUBSUB=ON \
-DBUILD_PUBSUB_PSA_ZMQ=ON \
-DBUILD_RSA_DISCOVERY_SHM=OFF "
script:
- if [ "$SANITIZE" == 1 ]; then export BUILD_OPTIONS="${BUILD_OPTIONS} DENABLE_ADDRESS_SANITIZER=ON"; fi
- if [ "$USE_ZIP_INSTEAD_OF_JAR" == 1 ]; then export BUILD_OPTIONS="${BUILD_OPTIONS} -DDCELIX_USE_ZIP_INSTEAD_OF_JAR=ON"; fi
- if [ "$ONLY_V3_API" == 1 ]; then export BUILD_OPTIONS="${BUILD_OPTIONS} -DCELIX_INSTALL_DEPRECATED_API=OFF"; fi
- cd build
- if [ "$CC" = "gcc" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export BUILD_OPTS="${BUILD_OPTS} -DENABLE_CODE_COVERAGE=ON"; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ -z "$ANDROID" ]; then cmake -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} ${BUILD_OPTIONS_LINUX} -DBUILD_FRAMEWORK_TESTS=ON -DBUILD_UTILS-TESTS=ON -DENABLE_TESTING=ON ${BUILD_OPTS} -DCMAKE_INSTALL_PREFIX=../install ..; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cmake -DCMAKE_BUILD_TYPE=Debug ${BUILD_OPTIONS} ${BUILD_OPTIONS_OSX} -DBUILD_FRAMEWORK_TESTS=ON -DBUILD_UTILS-TESTS=ON -DENABLE_TESTING=ON -DFFI_LIBRARY=/usr/local/opt/libffi/lib/libffi.dylib ${BUILD_OPTS} -DCMAKE_INSTALL_PREFIX=../install ..; fi
- if [ -z "$ANDROID" ]; then make all && make deploy && sudo make install; else cd .. && docker build -t celixandroid - < misc/Dockerfile.Android ; fi
- if [ -z "$ANDROID" ]; then export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH:`pwd`/utils:`pwd`/framework:`pwd`/dfi && make test ARGS="-V"; else docker run celixandroid; fi
after_success:
- if [ "$CC" = "gcc" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then
if [ $(( $TRAVIS_BUILD_NUMBER % 5 )) -eq 0 -o ${COVERITY_SCAN_ALWAYS_ON} = "y" ]; then make clean & eval "$COVERITY_SCAN_BUILD"; fi
fi;