2

SonarQubeでレポートを生成するために統合しようとしていますiOS project

Objective-C Sonar プラグインを使用しています

私が走るとき./run-sonar.sh

OCLintcompile_commands.json私のルートディレクトリにファイルを生成します。

その後、次のエラーが発生します

11:24:39.782 INFO  - Processing OCLint report /Users/.......app/./sonar-reports/oclint.xml
11:24:39.899 ERROR - Reporting 1073 violations.
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 16.240s
Final Memory: 6M/86M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:53)
Caused by: The rule 'OCLint:ivar assignment outside accessors or init' does not exist.

誰でもこの問題について私を助けることができますか? ありがとうAMR

タナクス

4

3 に答える 3

0

あなたが使用したプラグインのフォークであるこのプラグインの最後のバージョンでも同様のエラーが発生しました。OCLint のバージョンを 0.11 から 0.10.1 にダウングレードすると、すべてが完全に機能します。プラグインで定義されている OCLint ルールが、サーバーにインストールされている OCLint バージョンと異なっていたようです。

于 2016-09-28T14:57:51.317 に答える
0

同様のエラーがありました。私のソナー サーバーには、2 つの Objective-C コード アナライザー プラグインがありました。Objective C 用のSonar プラグイン (無料)およびSonarSource Objective-C プラグイン (商用)

ソナーサーバーからプラグインの1つを削除(アンインストール)すると、エラーが発生しなくなりました

于 2014-10-23T17:34:31.697 に答える
-1

あなたが使用していたobjective-c-sonarプラグインのバージョンがわかりません。以前に同様の問題を解決しました。

Gotoを別${SONAR_INSTALLATION_FOLDER}/extensions/plugins/の場所にコピーし sonar-objective-c-plugin-${version}.jarます。

jar ファイルを解凍し、以下のファイルを編集します org/sonar/plugins/objectivec/profile-oclint.xml
xml ファイルのレイアウトに従って、欠落しているルールを追加します。
以下のように見える場合があります

    <rule> 
        <repositoryKey>OCLint</repositoryKey>
        <key>ivar assignment outside accessors or init</key>
    </rule> 

そして、別のファイルを編集しますorg/sonar/plugins/objectivec/rules-oclint.xml

<rule> 
    <key>ivar assignment outside accessors or init</key>
    <name>ivar assignment outside accessors or init</name>
    <priority>MAJOR</priority>
    <description>ivar assignment outside accessors or init</description>
</rule>

そして、zip を使用して、解凍されたファイルを新しい jar ファイルとしてパッケージ化します。の元のプラグイン jar ファイルをオーバーライドし${SONAR_INSTALLATION_FOLDER}/extensions/plugins/、ソナーを再起動すると、問題が解決する可能性があります。

発生したすべての同様の問題について、この手順を繰り返します。

于 2016-08-12T02:32:08.320 に答える