OCLint 0.13 を統合して、ObjC ベースの iOS プロジェクトで lint 違反をチェックしようとしています。
このガイドに従って、Xcode で集計ターゲットを作成して を実行し、xcodebuild clean build
続いoclint-xcodebuild
てcompile_commands.json
. clang
生成されたファイルからコマンドを実行できcompile_commands.json
ます。oclint-json-compilation-database
ただし、コマンドによって生成された html レポートでは、のようなファイルを処理しているときに、上記のヘッダー ファイルが に存在するにもかかわらず、 のNEORepos/Public/ResourceObservables/NEOAggregatedObservable.h
ようなコンパイラ エラーが表示されます。'NEOObservables/NEOObservable.h' file not found
NEOObservables/Public/Observables/NEOObservable.h
一部のソース ファイルが lint されるのを妨げているこれらのコンパイラ エラーを取り除くにはどうすればよいですか?
からclangコマンドを実行するとファイルがcompile_commands.json
生成され.o
ますが、OCLintはjsonファイルを使用してコンパイルできないようです。さらにいくつかのインクルード パスを追加しようとしました-I
が、役に立ちませんでした。すべての提案と指針を歓迎します。
これが(編集された)ログの一部です...
xcode_clean_build_command = xcodebuild -workspace 'Neo.xcworkspace' -scheme 'NeoSampleApp' -configuration 'Debug' クリーン ビルド -dry-run -derivedDataPath /Users/username/Documents/git/ios-neo_linter/build/Neo -sdk iphonesimulator CLANG_ENABLE_MODULE_DEBUGGING=NO CODE_SIGNING_ALLOWED=NO CODE_SIGN_IDENTITY='' CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO COMPILER_INDEX_STORE_ENABLE=NO | ティー xcodebuild.log
...
/oclint-xcodebuild
...
compile_commands.json を生成しています ...
NEORepos/Public/ResourceObservables/NEOAggregatedObservable.m を選択 NeoSampleApp/main.m を選択
...
リンティング (283 個中 2 個) および新しい compile_commands.json の作成用に最終候補に挙げられたファイル
...
/Users/username/Documents/git/ios-neo_linter/NEORepos/Public/ResourceObservables/NEOAggregatedObservable.m のコンパイルに失敗しました - /Users/username/Documents/git/ios-neo_linter/NeoSampleApp/main.m のコンパイルに失敗しました - /Users/ の分析に成功しましたユーザー名/ドキュメント/git/ios-neo_linter/NeoSampleApp/main.m - 完了
...
lint レポートを生成しています (存在する場合)...
...
実行コマンド: oclint-json-compilation-database -e Pods -v -- -list-enabled-rules -no-analytics -enable-global-analysis -verbose --report-type html -o oclint.html -extra-arg =-何もない
...
/usr/local/bin/oclint -p /Users/username/Documents/git/ios-neo_linter -list-enabled-rules -no-analytics -enable-global-analysis -verbose --report-type html -o oclint. html -extra-arg=-Wno-everything /Users/username/Documents/git/ios-neo_linter/NEORepos/Public/ResourceObservables/NEOAggregatedObservable.m /Users/username/Documents/git/ios-neo_linter/NeoSampleApp/main.m