Template repository for modern Android Gradle Plugin Project.
docs: https://docs.gradle.org/8.7/userguide/publishing_gradle_plugins.html
io.github.{user}.{plugin}
plugin id.Set your API Key and signing key to gradle.properties, or specify it as command line arguments.
~/.gradle/gradle.properties
gradle.publish.key=...
gradle.publish.secret=...
signingKey="-----BEGIN PGP PRIVATE KEY BLOCK-----\
\
...\
-----END PGP PRIVATE KEY BLOCK-----\
"
signingPassword=...
Configure your plugin publications.
Plugin id must have your owned domain or io.github.{user}
. see this
document: https://plugins.gradle.org/docs/publish-plugin#approval
plugin/build.gradle.kts
group =
"io.github.{user}.{plugin name}" // maven artifact groupId, it's recommended to same as plugin id.
version = "0.1.0"
gradlePlugin {
website = "https://github.com/example/example"
vcsUrl = "https://github.com/example/example"
plugins {
create("plugin") { // unique name in your config
id = "io.github.{user}.{plugin name}" // plugin id
displayName = "Sample Plugin"
description = "A Sample Plugin"
tags = listOf("example")
implementationClass = "org.sample.GreetingPlugin"
}
}
}
publish command
./gradle :plugin:publishPlugins
or command with API Key args
./gardlew :plugin:publishPlugins -Pgradle.publish.key=<key> -Pgradle.publish.secret=<secret>