OCLint 踩坑 —— 执行 oclint-json-compilation-database 没结果

124 阅读1分钟

概述

生成了 compile_commands.json 后,调用 oclint-json-compilation-database 想生成分析报告,执行命令后啥都没生成

环境

OCLint : 24.11

OCLint 安装方式:本地编译

系统: MacOS 14.7.1

预期

当前目录下会产生一个 oclintReport.html 文件,内容是静态分析的结果

实际

什么都没产生。没有报错。

复现

# 生成 compile_commands.json 文件 (这一步成功了)
xcodebuild -project gamesdk-ios.xcodeproj -scheme App-ShenlanSdk -configuration Debug -sdk iphoneos | xcpretty -r json-compilation-database -o compile_commands.json

# 生成分析报告
oclint-json-compilation-database -- -report-type html -o oclintReport.html -rc LONG_LINE=9999 -max-priority-1=9999 -max-priority-2=9999 -max-priority-3=9999

我尝试过

  1. 更换 OCLint 版本 github.com/Lianghuajia… 还有官方编译好的 22.02 github.com/oclint/ocli…

  2. 更换生成分析报告的命令

    oclint-json-compilation-database -- -report-type=html \
     --verbose \
     -rc=LONG_CLASS=1500 \
     -rc=NESTED_BLOCK_DEPTH=5 \
     -rc=LONG_VARIABLE_NAME=80 \
     -rc=LONG_METHOD=200 \
     -rc=LONG_LINE=300 \
     -disable-rule ShortVariableName \
     -disable-rule ObjCAssignIvarOutsideAccessors \
     -disable-rule AssignIvarOutsideAccessors \
     -allow-duplicated-violations=false\
     -max-priority-1=100000 \
     -max-priority-2=100000 \
     -max-priority-3=100000 >> oclint.html