問題タブ [oclint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Sonarqube が OCLint によって報告された問題をインポートしない
を使用して、Objective-C コード分析を行っていsonarqube
ます。構成は次のとおりです。
SonarQube 5.4 Objective-C (コミュニティ) 5.0.0 xcode 6 xctool OCLint 0.10.2
分析を行い、それOCLint
を sonar-reports/ に入れoclint.xml
ます。しかし、ソナーのダッシュボードには何も表示されません。
ログは次のとおりです。
clang - ObjCPropertyDecl からクラス情報を取得する
clangObjCPropertyDecl
型からクラス情報を抽出するのに問題があります。
Objective-C ファイルの例:
ast をダンプすると、次のようになります。
以前は、型をチェックして であるかどうかを確認することに依存する OCLint ルールがあったNSArray
ため、 anASTVisitor
と次のコードを使用します。
nullable
上記のコード サンプルのキーワードとジェネリックの両方が、修飾された型を変更することに注意してください (AST ダンプを参照してください)。
私の質問は、ObjCPropertyDecl
egから、NSArray *
またはNSString *
余分な砂糖なしで、Objective-C クラス型のみを取得できる方法はありますか?
私は試してみましgetSplitDesugaredType();
たが、それはnull可能な部分を削除するのにうまく機能しますが、ジェネリックは削除されません。
編集:
私の現在の考えではType
、SplitQualType
then キャストからObjCObjectPointerType
を取得しObjCObjectType
て、必要な情報を取得できる可能性がありますが、明日それを実装してみます。
xcode - 実行スクリプトで xcodebuild を実行しない OCLint
プロジェクトに OCLint を追加しようとしてきましたが、ほとんどの場合で動作します
問題は、実行スクリプトで xcodebuild を呼び出す必要がなく、xcode でプロジェクトをビルドするたびに xcodebuild を 2 回実行する必要がないことです。xcodeのビルドコマンドからxcodebuild.logファイルを作成する方法を見つけた人はいますか?
DerivedData/{Project}/Logs/Build に移動して、そこにある .xactivitylog ファイルを解凍する方法に関する情報を見つけましたが、oclint-xcodebuild コマンドが空の compile_commands.json ファイルを作成する大量のゴミが含まれています。