irgaly / android-gradle-plugin-template

Template repository for modern Android Gradle Plugin Project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android Gradle Plugin Template

Template repository for modern Android Gradle Plugin Project.

  • Kotlin 1.8.10
  • Android Gradle Plugin 8.0.0
    • Sample App's compileSdk = 33 (Android 12)
    • Sample App's minSdk = 26 (Android 8.0)
  • Gradle 8.1
    • Version Catalog
    • Kotlin DSL (*.kts)
    • pluginManagement / dependencyResolutionManagement (settings.gradle.kts)
    • Composite Build
    • Gradle Plugin Publish Plugin
    • Gradle Signing Plugin

Publish Plugin

docs: https://docs.gradle.org/8.0.2/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.set("https://github.com/example/example")
  vcsUrl.set("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.set(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>

About

Template repository for modern Android Gradle Plugin Project.

License:Other


Languages

Language:Kotlin 100.0%