Gradleのcom.vanniktech.maven.publishプラグインは、生成されたjarファイル類をMavenセントラルリポジトリーに公開する。
com.vanniktech.maven.publishプラグインは、生成されたjarファイル類をMavenリポジトリーに公開する。
plugins { id "java-library" id "com.vanniktech.maven.publish" version "0.33.0" } 〜 mavenPublishing { 〜 }
version 0.33.0の場合、Gradle8.5以降。
com.vanniktech.maven.publishプラグインで公開の為の情報を設定する。
以下、Mavenセントラルリポジトリーにpublishする為の設定の例。
plugins { id "java-library" 〜 id "com.vanniktech.maven.publish" version "0.33.0" } 〜 import com.vanniktech.maven.publish.SonatypeHost import com.vanniktech.maven.publish.JavaLibrary import com.vanniktech.maven.publish.JavadocJar mavenPublishing { configure(new JavaLibrary(new JavadocJar.None(), true)) publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) signAllPublications() pom { name = 'Tsurugi DB output plugin for Embulk' description = 'Inserts or updates records to a table.' url = 'https://github.com/hishidama/embulk-output-tsurugidb' licenses { license { name = 'MIT License' url = 'http://www.opensource.org/licenses/mit-license.php' } } developers { developer { id = 'hishidama' } } scm { connection = 'git@github.com:hishidama/embulk-output-tsurugidb.git' developerConnection = 'git@github.com:hishidama/embulk-output-tsurugidb.git' url = 'https://github.com/hishidama/embulk-output-tsurugidb' } } }
Mavenセントラルリポジトリーでソフトウェアを公開する際は電子署名が必要となる。
signAllPublications()は電子署名を行うメソッドらしい。(拡張子ascのファイルが作られる)
電子署名の設定方法はsigningプラグインと同じ。→公開しないgradle.propertiesの例
Maven Central Portalにアップロードする場合に「publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
」を指定する。
Maven Cnetral Portalにログインする為のアクセストークンは、公開しないgradle.propertiesに書いておく。
// Maven Central Portal mavenCentralUsername=アクセストークンのユーザー名 mavenCentralPassword=アクセストークンのパスワード
./gradlew publishToMavenCentral