1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Maven Central Repository にライブラリ公開する手順

Posted at

備忘も兼ねて、 Maven Central Repository に Kotlin ライブラリを公開する際に参照したドキュメントや手順をまとめる。

詳細は以下の2つの資料に記載されている。
この資料はこれらの抜粋・再構成となる。

準備

Maven Central へのリポジトリ作成

https://central.sonatype.org/publish/publish-guide/ を参考に、 Maven Central にリポジトリを作成する。

  1. Sonatype にアカウントを作成する
  2. New Project チケットを作成する

New Project チケットを起票する際に、以下の情報が必要になる。

  • Group ID
  • 公開する予定のライブラリの URL
  • 公開する予定のライブラリのソースコードをホストしている URL

私の場合は GitHub.com のアカウントを利用したので、 Group ID に io.github.hmiyado を指定した。
GitHub.com を利用する場合は com.github. 始まりでないことに注意する。

チケットを作成すると、アカウントの所有権確認のため、チケットに対応する名前(OSSHR-XXXX)の空リポジトリを作成するようコメントが来る。
それに対応すると、 Maven Central に自分のライブラリを公開するためのリポジトリを作成してもらえる。
このあたりのやりとりは Bot と行う。

ライブラリを公開するためのコード実装

実装はすべて .kts を前提とする。
https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:complete_example に全体のサンプルがあるので、これを眺めると全体感を掴みやすい。
大きく2点対応する必要がある。

  • Maven Plugin の設定
  • Signing Plugin の設定

Maven Plugin の設定

作成した Maven Central 上のリポジトリの認証情報も設定する必要がある。
GRADLE_HOME 下の gradle.properties 、デフォルトでは ~/.gradle/gradle.properties に認証情報を置くと、複数のプロジェクトで再利用できる( 参考 )。

Signing Plugin の設定

プラグインの設定と同時に、署名の設定も必要。

署名には GnuPG を使う。
https://central.sonatype.org/publish/requirements/gpg/ を参考に鍵の生成と公開鍵のサーバーへの登録を行う。

署名に必要な設定は Maven Plugin での設定と同様、 GRADLE_HOME 下の gradle.properties に記載しておく。

公開

  1. リポジトリへのアップロード
  2. Nexus Repository Manager 上での公開設定

リポジトリへのアップロード

Maven Plugin および Signing Plugin の設定が適切に完了していれば、 ./gradlew publish の実行のみでOK。

Nexus Repository Manager 上での公開設定

https://central.sonatype.org/publish/release/ に詳細が記載されている。
大ざっぱな流れとしては以下の通り。

  1. アップロードしたリポジトリを Close する
  2. リポジトリの署名や内容が検証される
  3. 検証に通ったら Release する

Release 後、リポジトリが利用できるようになるまでに30分程度、リポジトリが Maven Central Repository Search に反映されるまでに4時間程度かかる。

以上の手順でライブラリを公開できる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?