ソフトウェアのMavenセントラルリポジトリーへの公開方法のメモ。
|
|
|
Sonatypeは、Maven Central Repositoryの管理と運営を行っている会社。
Mavenセントラルリポジトリーでソフトウェアを公開したい場合、Sonatypeに依頼する形となる。
依頼と言っても、ほとんど自動的に進むようだ。
Mavenセントラルリポジトリーに自分のソフトウェアを公開する手順。[2023-06-22]
MavenのgroupIdを新規に登録するには、Sonatype JIRAのissueを新しく作る。
issueに登録する項目は、hishidama Embulk pluginsの場合は以下のように入力した。
項目 | 例 | 備考 |
---|---|---|
要約 | hishidama Embulk plugins | タイトル |
説明 | The Embulk plugins created by hishidama. | description |
添付ファイル | (無し) | |
Group Id | io.github.hishidama.embulk | MavenのgroupId |
Project URL | https://github.com/hishidama/embulk-plugins | |
SCM url | https://github.com/hishidama/embulk-plugins.git | GitHubのclone url |
Username(s) | (無し) | |
Already Synced to Central | No |
初回のリリースが出来たことを確認したら、pushできた旨のコメントをissueに入れる。[2023-06-22]
これにより、issueがクローズされる。
Mavenセントラルリポジトリーにソフトウェアを公開(publish)するために、(パスワードの代わりに)アクセストークンが必要となる。[2024-07-11]
アクセストークンは以下の手順で作成する。
ID : トークン
」形式で文字列が表示されるので、username・passwordにこれを使用する。MavenのgroupIdの新設が承認されたら、ソフトウェアを公開できるようになる。[2023-06-22]
$ ./gradlew publish
publishしようとしたら、Forbiddenのエラーが出た。[2024-01-30]
$ ./gradlew publish 〜 * What went wrong: Execution failed for task ':publishMavenJavaPublicationToMavenRepository'. > Failed to publish publication 'mavenJava' to repository 'maven' > Could not PUT 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/io/github/hishidama/embulk/embulk-output-tsurugidb/0.1.4/embulk-output-tsurugidb-0.1.4.jar'. Received status code 403 from server: Forbidden 〜 BUILD FAILED in 33s
確認の為にブラウザーからhttps://s01.oss.sonatype.org/#welcomeに ログインしようとしたら、以下のようなエラーダイアログが表示された。
Incorrect username, password or no permission to use the Nexus User Interface. Try again.Forbidden
よく分からないのでJIRAで状況を説明したら、ログインできるようにしてもらえた。
publishしようとしたら、Content access is protected by tokenのエラーが出た。[2024-07-11]
$ ./gradlew publish 〜 Execution failed for task ':publishMavenJavaPublicationToMavenRepository'. > Failed to publish publication 'mavenJava' to repository 'maven' > Could not PUT 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/io/github/hishidama/embulk/embulk-output-tsurugidb/0.1.6/embulk-output-tsurugidb-0.1.6.jar'. Received status code 401 from server: Content access is protected by token 〜 BUILD FAILED in 4s
今まではユーザーIDとパスワードで認証していたのが、アクセストークンを使う方式に代わったらしい。