私は sbt-assembly を長く愛用しているユーザーですが、新しいプロジェクトで SBT 0.13.0 と sbt-assembly 0.10.1 を使用しているときに問題が発生しました。
以前は次のようなコードを使用していました。
import sbtassembly.Plugin._
import AssemblyKeys._
lazy val sbtAssemblySettings = assemblySettings ++ Seq(
// Slightly cleaner jar name
jarName in assembly <<= (name, version) { (name, version) => name + "-" + version + ".jar" }
)
lazy val buildSettings = ... ++ sbtAssemblySettings
これは、以前のバージョンの SBT/sbt-assembly では問題なく機能していましたが、現在は次のエラーが発生しています。
type mismatch;
[error] found : String
[error] required: sbt.Task[String]
[error] jarName in assembly <<= (name, version) { (name, version) => name + "-" + version + ".jar" }
[error] ^
[error] one error found
完全を期すために: 完全なプロジェクトはこちらから入手できます。
この問題は、SBT 0.13.0の新しいタスク/設定構文に関連しているのではないかと思わずにはいられません。
まず、新しい構文への変換を自由に行えるようにするために、古い構文は引き続きサポートされています。非互換性や避けられないものがあるかもしれませんが、既存のビルドで問題が発生した場合は報告してください。
どんな助けでもありがたく受け取った!