私はScala 2.11.1とsbt0.13.5を使用しています。
次のように入力タスクを作成するヘルパー関数を含むsbtプラグインがあります(問題とは無関係であるため、実装は削除されています)。
def register(name: String, description: String): Def.Setting[InputTask[Unit]] = {
InputKey[Unit](name, description) <<= Def.inputTask {
println("test")
}
}
この関数はコンパイルされ、Scala 2.10.4で問題なく動作しますが、2.11.1に切り替えると、次のエラーで失敗します。
以前のバージョンのScalaでコンパイルされたマクロを展開できません
それは Def.inputTask
マクロは単にScala 2.11.1で壊れていますか、それともいくつかの明白な詳細が欠けていますか?
現在、上記の関数は、考えられる最も単純なsbtプラグインにあります。依存関係もまったくありません。
sbt0.13.xシリーズはロード時にScala 2.10.xを使用するため、sbt0.13.x自体をScala 2.10に対してコンパイルする必要があります。 0.13.x用のsbtプラグイン。
注:sbt0.13は2.11.xを使用してScalaプロジェクトを定義できます。
scala 2.11.xを実行している場合は、build.sbtファイルでこの行を使用してください。
libraryDependencies + = "org.scalatest"% "scalatest_2.11"% "2.2.4"% "test"