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