giter8-pluginのversion0.6.4時点の情報です。giter8-pluginは、giter8で作ったテンプレート自体のテストを書くためのsbt-pluginです。
giter8-plugin使ってる人がそもそも少ないでしょうが、giter8でテンプレート定義するなら、せっかくなのでテスト書きましょう。
一時期色々混乱があったり、publishされてなくて直参照しないといけなかったり、新しいsbt0.13に対応するのが遅かったりしてとても面倒でしたが、これ書いてる現在はちゃんとpublishされてる
ので、以前よりは面倒なく使えます。
さて、あとはもうコミット見てもらいましょう
https://github.com/unfiltered/unfiltered.g8/pull/1/files
g8Test時の値を変更するには、
G8Keys.properties in G8Keys.g8 in Test
というKeyを変更します。このKeyは TaskKey[Map[String, String] ]
です。
https://github.com/n8han/giter8/blob/0.6.4/plugin/src/main/scala/giterate-plugin.scala#L14
デフォルトではそのKeyには
src/main/g8/default.properties
の値が設定されるようになってます。その値を :=
で上書きしてしまうと、全部の値を設定しないといけないし、 +=
や ++=
はSeqにしか使えない(今回の場合型がMap)なので、以下のように ~=
で、既存の値はそのまま利用しつつ上書きしたい部分だけ設定します
G8Keys.properties in G8Keys.g8 in Test ~= {_ + /*上書きしたい設定*/}