From: Martin Quinson Date: Sat, 28 May 2016 20:07:24 +0000 (+0200) Subject: try to make our travis-sonarqube.sh useful to others too X-Git-Tag: v3_14~1128 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/847ed634dcf26a99c8fb7751fe72720c391e2c4d?hp=f924facaa0bf88ff801da6c8504242b3f984733d try to make our travis-sonarqube.sh useful to others too --- diff --git a/.travis.yml b/.travis.yml index 80042df234..1db3d7bbd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,7 +49,7 @@ before_install: - if [ ${TRAVIS_OS_NAME} = 'linux' ] ; then sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 50 ; fi script: - cmake -Denable_documentation=OFF -Denable_coverage=OFF -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=OFF -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON . - - if [ ${TRAVIS_OS_NAME} = 'linux' ] ; then ./tools/internal/travis-sonarqube.sh ; else make VERBOSE=1 ; fi # run make in the sonar wrapper + - ./tools/internal/travis-sonarqube.sh make VERBOSE=1 # run make in the sonar wrapper - ctest --output-on-failure --timeout 100 notifications: recipients: diff --git a/tools/internal/travis-sonarqube.sh b/tools/internal/travis-sonarqube.sh index fcb2682a30..d85b1711d3 100755 --- a/tools/internal/travis-sonarqube.sh +++ b/tools/internal/travis-sonarqube.sh @@ -1,7 +1,18 @@ #! /bin/sh -# Run SonarQube on travis. First version was given per email by one of the SonarQube engineer. +# Install and run SonarQube on travis. +# +# Use it as a wrapper to your build command, eg: ./travis-sonarqube.sh make VERBOSE=1 +# On Mac OSX, you don't want to run SonarQube but to exec the build command directly. +if [ ${TRAVIS_OS_NAME} != 'linux' ] +then + exec "$@" +fi +# Passed this point, we are on Linux (exec never returns) + + +# Be verbose and fail fast set -ex # Install required software @@ -23,9 +34,7 @@ installSonarQubeScanner installBuildWrapper # triggers the compilation through the build wrapper to gather compilation database -# We need to clean the build that was used for the tests before to ensure that everything gets rebuilt (sonarqube only use what's built throught its wrappers) -# Plus, we need to activate MC so that it does not get throught the quality net :) -./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-outputs make VERBOSE=1 +./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-outputs "$@" # and finally execute the actual SonarQube analysis (the SONAR_TOKEN is set from the travis web interface, to not expose it) sonar-scanner -Dsonar.host.url=https://nemo.sonarqube.org -Dsonar.login=$SONAR_TOKEN