sbtでMavenリポジトリにpublishする

mirage-scalaSourceForge.jpのProject AmaterasのMavenリポジトリにデプロイしています。このリポジトリへのpublishはscp(ssh)経由で行う必要があり、さらに認証は鍵認証となっています。
というわけでbuild.sbtはこんな感じにしてみました。

publishTo := Some(Resolver.ssh("amateras-repo-scp", 
    "shell.sourceforge.jp", "/home/groups/a/am/amateras/htdocs/mvn/")
  as(System.getProperty("user.name"), 
    new java.io.File(Path.userHome.absolutePath + "/.ssh/id_rsa")))

sbt publishを実行するとIvyがパスフレーズを入力するためのダイアログを表示してくれます。本当はas以降は個人用の設定ファイルとかで指定できるとよいのですが…。
ちなみにWebDAVでPUTが可能なサーバであれば、もう少し簡単にこんな感じでいいみたい。

publishTo := Some("Scala Tools Nexus" at 
  "http://nexus.scala-tools.org/content/repositories/releases/")

なお、sbtはIvyベースなわけですが、デフォルトではMavenスタイルでデプロイしてくれます。Ivyリポジトリにデプロイしたい場合はpublishMavenStyleをfalseにしておけばいいみたい。でも、わざわざIvyスタイルにする必要性もないとは思いますが…。
参考資料:https://github.com/harrah/xsbt/wiki/Publishing