美文网首页
Jenkins iOS PMD 代码警告检测实践

Jenkins iOS PMD 代码警告检测实践

作者: 十一岁的加重 | 来源:发表于2017-12-23 19:32 被阅读22次

    初成型,还有点上问题。不知道是不是跟我们项目有问题,明明设置了忽略老是检测一个第三方库,不过是可以跑起来的,只是检测错了地方,有时间我再试试其他项目。

    image.png
    
    export PATH=$PATH:/Users/mac/.rvm/gems/ruby-2.4.0/bin
    OCLINT_HOME=/usr/local/bin/oclint
    export PATH=$PATH:$OCLINT_HOME/bin
    export PATH=$PATH:/usr/local/Cellar/oclint/0.13/bin
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    
    cd $WORKSPACE
    bash $WORKSPACE/PMDOclint.sh
    
    

    同级文件PMDOclint.sh内容

    
    #!/bin/bash
    
    function oclintForProject () {
    myworkspace=???.xcworkspace # 替换workspace的名字
    myscheme=??? # 替换scheme的名字
    
    # 清除上次编译数据
    if [ -d ./derivedData ];
    then
    echo '-----清除上次编译数据derivedData-----'
    rm -rf ./derivedData
    fi
    
    xcodebuild clean
    
    # 生成编译数据
    xcodebuild -workspace ???.xcworkspace -scheme ??? -destination generic/platform=iOS -derivedDataPath derivedData -configuration Debug COMPILER_INDEX_STORE_ENABLE=NO | xcpretty -r json-compilation-database -o compile_commands.json
    
    if [ -f ./compile_commands.json ]
    then
    echo '-----编译数据生成完毕-----'
    else
    echo "-----生成编译数据失败-----"
    return -1
    fi
    
    # 生成报表
    oclint-json-compilation-database -e MGBankCard -- \
    -report-type pmd -o pmd.xml \
    -rc LONG_LINE=200 \
    -disable-rule ShortVariableName \
    -disable-rule ObjCAssignIvarOutsideAccessors \
    -disable-rule AssignIvarOutsideAccessors \
    -max-priority-1=100000 \
    -max-priority-2=100000 \
    -max-priority-3=100000
    
    if [ -f ./pmd.xml ]
    then
    rm compile_commands.json
    echo '-----分析完毕-----'
    return 0
    else
    echo "-----分析失败-----"
    return -1
    fi
    }
    
    oclintForProject
    
    
    

    相关文章

      网友评论

          本文标题:Jenkins iOS PMD 代码警告检测实践

          本文链接:https://www.haomeiwen.com/subject/ddiqgxtx.html