8

特定のタスクで SBT プラグイン (AutoPlugin) を無効にする方法はありますか。

たとえば、パッケージ化中にプラグイン SCoverage を無効にしたいと考えています。

私が試した:

coverageEnabled in `package` := false

しかし、それはうまくいきません。そこで、プラグインを完全に無効にする方法を探します。

4

1 に答える 1

3

いいえ。タスク (この場合はpackageBinタスク) が実行されるまでに、タスクの依存関係グラフはすべての自動プラグインから読み込まれ、各設定/タスクはそれがプラグインからのものかどうかを認識しません。一般に、今日 (0.13.9) の時点で、sbt でプラグインを動的に有効または無効にすることはできません。

一部のプラグインは、一部の動作 (たとえば、test in assembly) をオーバーライドするために拡張ポイントを追加する場合がありますが、 などの組み込みタスクpackageBinはプラグインを認識しません。

ここに関係があるかもしれないbuild levelという概念を提案しようとしましたが、うまくいきませんでした。

于 2016-01-02T01:00:59.140 に答える