S-JIS[2025-07-03] 変更履歴

Gradle com.vanniktech.maven.publishプラグイン

Gradleのcom.vanniktech.maven.publishプラグインは、生成されたjarファイル類をMavenセントラルリポジトリーに公開する。


概要

com.vanniktech.maven.publishプラグインは、生成されたjarファイル類をMavenリポジトリーに公開する。

build.gradle:

plugins {
    id "java-library"
    id "com.vanniktech.maven.publish" version "0.33.0"
}

〜

mavenPublishing {
    〜
}

version 0.33.0の場合、Gradle8.5以降。


Mavenセントラルリポジトリーにpublishする例

com.vanniktech.maven.publishプラグインで公開の為の情報を設定する。

以下、Mavenセントラルリポジトリーにpublishする為の設定の例。

build.gradle(Gradle8.9):

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の設定

Maven Central Portalにアップロードする場合に「publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)」を指定する。

Maven Cnetral Portalにログインする為のアクセストークンは、公開しないgradle.propertiesに書いておく。

ユーザーのホームディレクトリー/.gradle/gradle.properties

// Maven Central Portal
mavenCentralUsername=アクセストークンのユーザー名
mavenCentralPassword=アクセストークンのパスワード

Maven Central Portalにアップロードするコマンド

./gradlew publishToMavenCentral

Gradle目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま