3

私は 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の新しいタスク/設定構文に関連しているのではないかと思わずにはいられません。

まず、新しい構文への変換を自由に行えるようにするために、古い構文は引き続きサポートされています。非互換性や避けられないものがあるかもしれませんが、既存のビルドで問題が発生した場合は報告してください。

どんな助けでもありがたく受け取った!

4

1 に答える 1