diff options
| -rw-r--r-- | .travis.yml | 8 | ||||
| -rw-r--r-- | .travis/targets/clang-analyzer.sh | 38 | 
2 files changed, 46 insertions, 0 deletions
| diff --git a/.travis.yml b/.travis.yml index b1086d7..7f574c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,6 +41,14 @@ matrix:              - realpath              - libcmocka-dev              - valgrind +    - compiler: clang +      env: +        - TARGET=clang-analyzer +      addons: +        apt: +          packages: +            - realpath +            - libcmocka-dev      - compiler: gcc        env:          - TARGET=dist-srpm diff --git a/.travis/targets/clang-analyzer.sh b/.travis/targets/clang-analyzer.sh new file mode 100644 index 0000000..e0c172e --- /dev/null +++ b/.travis/targets/clang-analyzer.sh @@ -0,0 +1,38 @@ +build() { +    default_configure \ +        --enable-silent-rules + +    local pn="$(grep PACKAGE_TARNAME config.h | cut -d\" -f2)" +    local pv="$(grep PACKAGE_VERSION config.h | cut -d\" -f2)" +    local p="${pn}-clang-analyzer-${pv}" + +    set +e +    scan-build \ +        --use-cc="${CC}" \ +        -o reports \ +        make +    #src/blogc/libblogc_la-debug.lo +    local rv=$? +    set -e + +    local num_reports=$(ls -1 reports | wc -l) +    [[ ${num_reports} -eq 0 ]] && return ${rv} +    [[ ${num_reports} -eq 1 ]] + +    local reports="reports/$(ls -1 reports)" + +    if [[ -d "${reports}" ]]; then +        mv "${reports}" clang-analyzer +        tar \ +            -cvJf "${p}.tar.xz" \ +            clang-analyzer +        rv=1 +    fi + +    return ${rv} +} + +deploy() { +    FILES=( *.tar.xz ) +    [[ ${RV} -ne 0 ]] && [[ "x${CC}" = "xclang" ]] +} | 
