123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/bash
- export CPPCHECK_INCLUDES="-Iinclude -Impi/include"
- export SOURCES_TO_ANALYZE="include src mpi/src tools tests examples mpi/tests mpi/examples"
- export SONAR_SOURCES=$(echo $SOURCES_TO_ANALYZE | tr ' ' ',')
- export SOURCES_TO_EXCLUDE="-itools/dev"
- if test -z "$SONAR_LOGIN_FILE"
- then
- echo "Error. Environment variable SONAR_LOGIN_FILE missing"
- exit 1
- fi
- SONAR_PROJECT=storm:starpu_trunk
- SONAR_LOGIN=$(grep ${SONAR_PROJECT} ${SONAR_LOGIN_FILE} | awk '{print $2}')
- if test -z "$SONAR_LOGIN"
- then
- echo "Error. Project ${SONAR_PROJECT} not available in file ${SONAR_LOGIN_FILE}"
- exit 1
- fi
- if test -f build/config.log
- then
- CONFIG_LOG=build/config.log
- elif test -f config.log
- then
- CONFIG_LOG=config.log
- else
- echo Error no config.log file found
- exit 1
- fi
- export DEFINITIONS_LOG=$(grep "^#define" ${CONFIG_LOG} | sed -e "s#\#define #-D#g" | sed -e "s# #=#g" | xargs)
- export DEFINITIONS_SRC=$(grep "^#undef" src/common/config.h.in| sed -e "s#\#undef #-D#g" | sed -e "s#\$#=1#g" | xargs)
- export DEFINITIONS_LOCAL=$(grep -rs "#ifdef" src/ mpi/src |awk -F':' '{print $2}' | awk '{print "-D"$2"=1"}' |sort|uniq)
- export DEFINITIONS="${DEFINITIONS_LOG} ${DEFINITIONS_SRC} ${DEFINITIONS_LOCAL}"
- cppcheck --max-configs=1000 --language=c++ --platform=unix64 --force -v --enable=all --inline-suppr --xml --xml-version=2 ${DEFINITIONS} ${CPPCHECK_INCLUDES} ${SOURCES_TO_EXCLUDE} ${SOURCES_TO_ANALYZE} 2> cppcheck.xml
- #--suppressions-list=tools/cppcheck/suppressions.txt
- sonar-scanner -Dsonar.login=${SONAR_LOGIN} -Dsonar.projectKey=${SONAR_PROJECT} -Dsonar.projectName=StarPU_trunk -Dsonar.projectVersion=HEAD -Dsonar.sources=${SONAR_SOURCES} -Dsonar.cxx.cppcheck.reportPath=cppcheck.xml
|