sbt で Maven セントラルに登録する手順

2016/11/05   #sbt  #Maven 
このエントリーをはてなブックマークに追加

使用するプラグイン

plugins.sbt

addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")

addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")

sbt-sonatype

sonatype のログイン情報を ~/.sbt/0.13/sonatype.sbt に書いておく必要がある。 ( 0.13 は sbt のバージョンに合わせる)

$ vim ~/.sbt/0.13/sonatype.sbt
credentials += Credentials("Sonatype Nexus Repository Manager",
        "oss.sonatype.org",
        "[username]",
        "[password]")

xerial/sbt-sonatype: A sbt plugin for publishing Scala/Java projects to the Maven central.

version.sbt

リリースするバージョン番号は、プロジェクトルートの version.sbt に書く。

version in ThisBuild := "1.1.0-SNAPSHOT"

このときバージョン番号の末尾が -SNAPSHOT だと sonatype の snapshot リポジトリへ、
そうでなければ staging リポジトリへパブリッシュされる。
ので、いったん試す場合は -SNAPSHOT をつけておくのがよい。

パブリッシュ

sbt +publishSigned

publishSigned する。
+ はクロスビルド分をすべて実行するという意味。

成功すると以下のようなログがでる。
バージョン番号に -SNAPSHOT を指定していたので
https://oss.sonatype.org/content/repositories/snapshots/
以下にパブリッシュされた。

:
[info] Done packaging.
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT.jar.asc
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT.pom.asc
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT-sources.jar
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT-javadoc.jar.asc
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT-sources.jar.asc
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT.jar
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT.pom
[info]  published scalikejdbc-sqlsyntax-ext_2.11 to https://oss.sonatype.org/content/repositories/snapshots/com/github/roundrop/scalikejdbc-sqlsyntax-ext_2.11/1.1.0-SNAPSHOT/scalikejdbc-sqlsyntax-ext_2.11-1.1.0-SNAPSHOT-javadoc.jar
[success] Total time: 10 s, completed Nov 5, 2016 6:28:26 PM
:

この方法で公開しているライブラリは以下になります。
roundrop/scalikejdbc-sqlsyntax-ext: ScalikeJDBC SQLSyntax Extension