22

別のプラグイン( "io.spray" %% "sbt-twirl"% "0.6.0")に依存するプラグイン"MyPlugin"を作成したいと思います。

プラグインは標準ライブラリとは異なるパススキームで公開されるため、libraryDependenciesにsbt-twirlを追加するだけでは機能しません。

また、MyPluginプロジェクトへのプラグイン依存関係としてsbt-twirlを宣言することはできません。これは、MyPluginがsbt-twirlを直接使用しないため、間接的に使用するのはMyPluginを使用するプロジェクトです。

MyPluginは、sbt-twirlがソース(sourceManaged内)を生成した後、およびコンパイル後に実行されることを意図したタスクを提供します。

単純ですが理想的ではない解決策は、MyPluginを使用するプロジェクトにプラグインの依存関係としてsbt-twirlも宣言するように要求することですが、2つのプラグインがいくつかの設定(ディレクトリ、バージョンなど)を共有するため、DRYではありません。繰り返して互換性がある必要があります。

4

1 に答える 1

31

プラグインをプラグインとして使用する場合と同じ定義である必要がありますが、次の代わりに使用するbuild.sbt必要があります。project/Build.scalaproject/plugins.sbt

addSbtPlugin("io.spray" % "sbt-twirl" % "0.6.0")
于 2013-01-22T13:36:01.170 に答える