Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
try to run sonarqube on travis
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 26 May 2016 20:40:51 +0000 (22:40 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 26 May 2016 20:40:51 +0000 (22:40 +0200)
.travis.yml
tools/internal/travis-sonarqube.sh [new file with mode: 0755]

index 6553d7d..c66dfc9 100644 (file)
@@ -49,6 +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 . && make VERBOSE=1 && ctest --output-on-failure --timeout 100
+   - ./tools/internal/travis-sonarqube.sh
 # branches:
 #   only:
 #      - master
diff --git a/tools/internal/travis-sonarqube.sh b/tools/internal/travis-sonarqube.sh
new file mode 100755 (executable)
index 0000000..8075f4a
--- /dev/null
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# Run SonarQube on travis.
+
+# Install required software
+installSonarQubeScanner() {
+  export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-2.6
+  rm -rf $SONAR_SCANNER_HOME
+  mkdir -p $SONAR_SCANNER_HOME
+  curl -sSLo $HOME/.sonar/sonar-scanner.zip http://repo1.maven.org/maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/2.6/sonar-scanner-cli-2.6.zip
+  unzip $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
+  rm $HOME/.sonar/sonar-scanner.zip
+  export PATH=$SONAR_SCANNER_HOME/bin:$PATH
+  export SONAR_SCANNER_OPTS="-server"
+}
+installBuildWrapper() {
+  curl -LsS https://nemo.sonarqube.org/static/cpp/build-wrapper-linux-x86.zip > build-wrapper-linux-x86.zip
+  unzip build-wrapper-linux-x86.zip
+}
+installSonarQubeScanner
+installBuildWrapper
+
+# triggers the compilation through the build wrapper to gather compilation database
+./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-outputs
+make build-nocheck
+
+# and finally execute the actual SonarQube analysis
+sonar-scanner -Dsonar.host.url=https://nemo.sonarqube.org -Dsonar.login=7f3a6edf2fc5fcfa22c3fb95ce13597dc4b1fb15