Skip to content

插件发布到 Gradle Plugin Portal

注册账号

  1. 访问 https://plugins.gradle.org
  2. 使用 GitHub 账号登录
  3. 进入 Profile → API Keys 页面
  4. 生成 API Key 和 Secret

配置发布

properties
# ~/.gradle/gradle.properties(用户级,不提交 Git)
gradle.publish.key=your-api-key
gradle.publish.secret=your-api-secret
kotlin
// build.gradle.kts
plugins {
    `kotlin-dsl`
    `java-gradle-plugin`
    id("com.gradle.plugin-publish") version "1.2.1"
}

group = "io.github.yourname"
version = "1.0.0"

gradlePlugin {
    website.set("https://github.com/yourname/your-plugin")
    vcsUrl.set("https://github.com/yourname/your-plugin")
    
    plugins {
        create("yourPlugin") {
            id = "io.github.yourname.your-plugin"
            implementationClass = "io.github.yourname.YourPlugin"
            displayName = "Your Plugin Name"
            description = "描述你的插件做什么"
            tags.set(listOf("tag1", "tag2"))
        }
    }
}

发布流程

bash
# 本地验证
./gradlew build

# 发布到 Gradle Plugin Portal
./gradlew publishPlugins

# 首次发布需要审核
# 之后更新版本直接发布

发布到私有 Maven 仓库

kotlin
publishing {
    repositories {
        maven {
            name = "company-nexus"
            url = uri("https://nexus.example.com/repository/gradle-plugins/")
            credentials {
                username = providers.gradleProperty("nexusUser").orNull
                password = providers.gradleProperty("nexusPassword").orNull
            }
        }
    }
}
bash
./gradlew publishPluginMavenPublicationToCompanyNexusRepository

使用私有仓库中的插件

kotlin
// settings.gradle.kts
pluginManagement {
    repositories {
        maven { url = uri("https://nexus.example.com/repository/gradle-plugins/") }
        gradlePluginPortal()
    }
}

下一步