sbtのメモ

Ubuntu 19.10、sbt 1.3.12
Maven Central Repositoryにリリースしたときのメモ
注:sbt-pgp プラグイン 2.0になって、正攻法の使い方でパッとできなかったので、以前までの方法でやっています。すみません。

前提:SonatypeのJIRAには登録してリリース時にMaven Central Repositoryにコピーするよう頼み込んでおく

$ gpg --gen-key
$ gpg --list-secret-keys
/home/foooo/.gnupg/pubring.kbx
------------------------------------
sec   rsa3072 2020-06-20 [SC] [有効期限: 2022-06-20]
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
uid           [  究極  ] Foo Bar <foo.bar@example.com>
ssb   rsa3072 2020-06-20 [E] [有効期限: 2022-06-20]
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$ gpg --keyserver hkp://keyserver.ubuntu.com --send-keys XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$ mkdir -p ~/.sbt/gpg/
$ gpg -a --export-secret-keys > ~/.sbt/gpg/secring.asc

~/.sbt/1.0/plugins/gpg.sbt

addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.3")
addSbtPlugin("io.crashbox" % "sbt-gpg" % "0.2.1")
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1")

~/.sbt/1.0/pgp.sbt

pgpKeyRing := Some(file("~/.sbt/gpg/secring.asc"))
credentials += Credentials(
  "GnuPG Key ID",
  "gpg",
  "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // key identifier
  "ignored" // this field is ignored; passwords are supplied by pinentry
)

build.sbt で publishTo := sonatypePublishToBundle.value にしてリリース。

$ sbt -DSBT_PGP_USE_GPG=false
>  ++publishSigned
> sonatypeBundleRelease
> sonatypeReleaseAll