0

Sonarqube プラグイン (org.sonarqube) を使用する gradle スクリプトがあります。公開タスクをそれに依存させると、正常に動作します。

問題は、条件が真の場合にのみ sonarqube を実行することです。だから私は(グラドルのドキュメントで説明されているように)これらの3つのステートメントをすべて試しました:

sonarqube.enabled (false)
sonarqube.enabled=false
sonarqube.onlyIf { false }

それぞれがエラーになります。ここでは、最初のステートメントを試してみたものを示します

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\Eclipse\workspace3.6\at.mic.hermes\build.gradle' line: 208

* What went wrong:
A problem occurred evaluating root project 'at.mic.hermes'.
> Could not find method enabled() for arguments [false] on org.sonarqube.gradle.SonarQubeExtension_Decorated@412196.

コードにタイプミスがないことを確認するために、テストタスクですべてのステートメントを試しました。

test.enabled(false)

そして、これは(予想どおり)

:test SKIPPED

私が間違っていた/何を変更する必要があるかについてのアイデアはありますか? 事前にt​​hx!

フランク

4

1 に答える 1

1

問題は名前の競合にあると思います。「sonarqube」という名前のオブジェクトが 2 つあります。

  • SonarQube タスク
  • SonarQube 拡張機能

ビルドを壊すことはないようですが、ここでsonarqube.enabledは拡張機能へのアクセスを書きます (スタックトレースによると)。

解決策は、おそらく を使用して曖昧さをなくすことtasks.sonarqube.enabledです。https://docs.gradle.org/current/userguide/more_about_tasks.html#N11143を参照してください

于 2016-07-27T10:23:23.997 に答える