jcenterが終了するのでjcenterからダウンロードしてmavenCentralにアップロードするツールを作った

1 min read読了の目安(約1600字

今月頭、Bintray/JCenterがクローズすると発表されました。GitHub Pagesでホストする野良レポジトリに退避した方がいらっしゃいましたが、Maven Central Repositoryへのアップロード権限を取得済なため、MavenCentralにアップロードしようと思いました。しかし、MavenCentralにアップロードするには以下の作業が必要でした。

  • .md5, .sha1の計算
  • pgp(gpg)による署名
  • pomの不足プロパティの設定

しかし手作業でやるのは面倒でかつ嫌だったのでツールを作成しました

bintray2central

使い方

1. ツールをダウンロードする

README内のリンクからzip/tar.gzをダウンロードして展開してください

2. ダウンロード元/先を設定し、ダウンロードする

  1. bintrayの自分のレポジトリのリンクを左上のURL欄に貼り付ける
  2. ダウンロード先にしたいフォルダへのパスを右上のURL欄に貼り付ける
  3. Upload!を押す
  4. Your destination repository is local directory.と署名するかを聞くGUIが出てくるのでNoを押して署名しないでダウンロードする

3. 必要に応じてpomを編集する

requiremensに基づき、pomを修正する

4. Maven Centralにアップロードする

  1. bintray2centralを再起動する

  2. 左上のURL欄にさっきダウンロードしたディレクトリのパスを貼り付ける

  3. 右上のCredential欄にmaven centralにアップロードする用のuser/passwordを指定する

    普段gradle.propertiesに保存している場合はLoad From Gradleをクリックするとgradle.propertiesの中のプロパティからセットすることができます

  4. 左下にgpgの設定をする

    gradle.propertiesに保存している場合はLoad From Gradleをクリックするとgradle.propertiessigningの設定からロードできます。

    手動で設定する場合は以下の通りです。

    1. secring.gpgを作成しする(作成していない場合)
      # *nix
      gpg --export-secret-keys -o ~/.gnupg/secring.gpg
      # cmd
      gpg --export-secret-keys -o %HOMEPATH%\.gnupg\secring.gpg
      
    2. gpg鍵のid(の末尾8文字)をKeyId欄に入力する
    3. gpg鍵のパスフレーズをpassphrase欄に入力する
  5. Upload!をクリックしてアップロードする

  6. mavenやgradleからアップロードした時と同じように、 oss.sonatype.org で処理をする