irgaly / android-gradle-plugin-template

Template repository for modern Android Gradle Plugin Project.
Other
12 stars 5 forks source link
android gradle gradle-plugin kotlin

Android Gradle Plugin Template

Template repository for modern Android Gradle Plugin Project.

Publish Plugin

docs: https://docs.gradle.org/8.7/userguide/publishing_gradle_plugins.html

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>