4

有効にすると、scalac オプションを介して scalac コンパイラ プラグインを追加する sbt-plugin があります。それで大丈夫です。

ただし、scalac コンパイラ プラグイン自体に使用する必要がある依存関係がある場合、これを機能させることはできません。私はもう試した:

  • 依存関係をターゲット プロジェクトに追加する libraryDependencies
  • sbt-plugin 自体の依存関係として指定します。

私がする必要があるのは次のようなものだと思います(自動プラグインです):

override lazy val projectSettings = Seq(
  ...
  projectsPluginsDependencies ++= Seq(
    "com.typesafe" % "config" % "1.2.1" % Compile.name
  )
  ...
)

projectsPluginsDependenciesが有効なキーであった場合。これは可能ですか?

(実際、依存関係を手動で最終プロジェクトに追加する方法もわかりません。コンパイラ プラグインが依存関係 X を必要とする場合、どうすればそれを満たすことができますか? project/build.sbt に追加しようとしましたが、そうではありません。仕事)。

非常に明確にするために、sbt-plugin が必要とする依存関係を追加する方法を尋ねているわけではありません。コンパイラプラグインが必要とする依存関係を追加する方法を尋ねています。それ自体は sbt-plugin によって追加されます。

4

1 に答える 1

0

コンパイラ プラグインのサポートを参照してください。

autoCompilerPlugins := true

libraryDependencies +=
    compilerPlugin("org.scala-lang.plugins" % "continuations" % scalaVersion.value)

scalacOptions += "-P:continuations:enable"

それが推移的な依存関係を引き込むかどうか試してみてください。

于 2014-07-29T16:42:58.963 に答える