2

私は次の設定キーを持っています:

val filterValues = SettingKey[Map[String, String]]("filter-values")

そして、設定を定義するとき:

filterValues := Map(
    "someKey" -> sys.props.get("some.path").getOrElse(localPath("example"))
    …
)

...
private def localFile(path: String): String = ((baseDirectory) { _ / path })(_.getAbsolutePath)

しかし、私が得ているのは、次の型の不一致です:

Build.scala:8: type mismatch;
[error]  found   : sbt.Def.Initialize[String]
[error]  required: String
[error]   private def localFile(path: String): String = ((baseDirectory) { _ / path })(_.getAbsolutePath)

これを行う正しい方法は何ですか?(sbt 0.13 の場合、ところで)

4

1 に答える 1

2

設定初期化子内で設定の値を抽出し、それを関数に渡す必要があります。

filterValues := Map(
    "someKey" -> sys.props.get("some.path").getOrElse(localPath(baseDirectory.value, "example"))
    …
)

...
private def localFile(base: File, path: String): String = (base / path).getAbsolutePath
于 2013-09-12T14:56:04.653 に答える