はじめに
Gradleで作成したライブラリをOSSRHアップロードしようと思って、下記のサイトなどをいろいろ参考に、Windows版GPGと格闘しつつ、とうとうアップデート用のスクリプトをGradleで作成しました。
参考サイト:
- GitHub+Maven Centralで自作ライブラリを公開する
- gpg (GNU Privacy Guard)の使い方
- GradleでMaven Central Repositoryに成果物をリリースする
- Publier une librairie open source sur Maven Central
さて、ついにアップロードだ!
と思いスクリプトを実行させようとすると、次のようなエラーが発生しました。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':signArchives'.
> The key ID must be in a valid form (eg 00B5050F or 0x00B5050F), given value: 0000111122223333444455556666777788889999
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
4 actionable tasks: 1 executed, 3 up-to-date
The key ID must be in a valid form (eg 00B5050F or 0x00B5050F), given value: 0000111122223333444455556666777788889999
ちなみに、作っていたgradle.propertiesファイルは次の通りです。
signing.keyId=0000111122223333444455556666777788889999
signing.secretKeyRingFile=C:/HOME/.gnupg/secring.gpg
sonatypeUsername=Morichan
sonatypeFullname=Morichan
signing.keyId
変数には、次のコマンドで取得したIDを入力していました。
$ gpg --list-keys
C:/HOME/AppData/Roaming/gnupg/pubring.kbx
--------------------------------------------------------
pub rsa2048 2018-06-28 [SC] [有効期限: 2020-06-27]
0000111122223333444455556666777788889999
uid [ 究極 ] Morichan <mori@@earth.cs.miyazaki-u.ac.jp>
sub rsa2048 2018-06-28 [E] [有効期限: 2020-06-27]
正しいgradle.propertiesファイルの書き方
下の通りにすると解決しました。
signing.keyId=88889999
signing.secretKeyRingFile=C:/HOME/.gnupg/secring.gpg
sonatypeUsername=Morichan
sonatypeFullname=Morichan
signing.keyId
変数の桁が小さくなりました。
具体的には、下8桁のみを入力することで解決できました。
参考サイト: https://github.com/gradle/gradle/issues/1918
参考サイトによると、桁数が多すぎてエラーを返すようです。
それを防ぐためには、次のコマンドで入手したIDを入力すれば解決できます。
$ gpg --list-keys --keyid-format SHORT
C:/HOME/AppData/Roaming/gnupg/pubring.kbx
--------------------------------------------------------
pub rsa2048/88889999 2018-06-28 [SC] [有効期限: 2020-06-27]
0000111122223333444455556666777788889999
uid [ 究極 ] Morichan <mori@@earth.cs.miyazaki-u.ac.jp>
sub rsa2048/94D3B77A 2018-06-28 [E] [有効期限: 2020-06-27]
様々なサイトではgpg --list-keys
コマンドで大丈夫と書いてありましたが、新しいバージョンではIDの桁が大きくなっており、GPG2の最新版とGradleの最新版で衝突してしまうようです。
おわりに
無事アップロードできました。
いろいろやらなければならないことが残ってましたが、なんとかアップロードできました。
リリースまでの参考: Publier une librairie open source sur Maven Central
フランス語が日本語でスラスラ読めるいい時代になりましたね。