跳转至

构建、签名与发布

插件发布到 JetBrains Marketplace 前,需要完成构建、兼容性验证、签名和首次手动上传。后续版本可以通过 Gradle 自动发布。

构建插件

./gradlew buildPlugin

产物通常位于:

build/distributions/

可以在 IDE 中使用 Install Plugin from Disk... 安装本地 ZIP 进行验证。

兼容性验证

./gradlew verifyPlugin

验证重点:

  • 是否引用不存在的类或方法。
  • 是否使用内部 API。
  • 目标 IDE 版本范围是否合理。
  • 依赖插件是否声明完整。

每次升级 IntelliJ Platform 版本后都应运行验证。

签名

Marketplace 要求插件签名。常见做法是通过环境变量或 Gradle Provider 提供证书、私钥和密码。

intellijPlatform {
    signing {
        certificateChain = providers.environmentVariable("CERTIFICATE_CHAIN")
        privateKey = providers.environmentVariable("PRIVATE_KEY")
        password = providers.environmentVariable("PRIVATE_KEY_PASSWORD")
    }
}

不要把私钥、证书密码或 Marketplace Token 写进仓库。

首次发布

首次发布必须手动上传:

  1. 登录 JetBrains Marketplace。
  2. 创建插件条目。
  3. 上传构建出的 ZIP。
  4. 填写插件描述、图标、截图、分类和版本说明。
  5. 等待审核。

后续自动发布

配置 Marketplace Token:

export ORG_GRADLE_PROJECT_intellijPlatformPublishingToken='YOUR_TOKEN'

Gradle 配置:

intellijPlatform {
    publishing {
        token = providers.gradleProperty("intellijPlatformPublishingToken")
    }
}

发布:

./gradlew publishPlugin

Marketplace 不接受同一个插件版本重复上传。发布前必须更新版本号。

发布渠道

可以发布到非默认渠道,例如 alphabetaeap

intellijPlatform {
    publishing {
        channels = listOf("beta")
    }
}

非默认渠道相当于独立仓库,用户需要手动添加对应插件仓库地址才能安装。

发布前检查

  • 插件可在干净 IDE 中从 ZIP 安装并启动。
  • 关键功能有测试覆盖。
  • plugin.xml 元数据完整。
  • 插件图标、描述、截图符合 Marketplace 展示要求。
  • 版本号已更新。
  • 已运行 buildPluginverifyPlugin 和测试。
  • 没有把依赖库错误打包进主插件 JAR。

参考来源