构建、签名与发布¶
插件发布到 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 写进仓库。
首次发布¶
首次发布必须手动上传:
- 登录 JetBrains Marketplace。
- 创建插件条目。
- 上传构建出的 ZIP。
- 填写插件描述、图标、截图、分类和版本说明。
- 等待审核。
后续自动发布¶
配置 Marketplace Token:
export ORG_GRADLE_PROJECT_intellijPlatformPublishingToken='YOUR_TOKEN'
Gradle 配置:
intellijPlatform {
publishing {
token = providers.gradleProperty("intellijPlatformPublishingToken")
}
}
发布:
./gradlew publishPlugin
Marketplace 不接受同一个插件版本重复上传。发布前必须更新版本号。
发布渠道¶
可以发布到非默认渠道,例如 alpha、beta、eap:
intellijPlatform {
publishing {
channels = listOf("beta")
}
}
非默认渠道相当于独立仓库,用户需要手动添加对应插件仓库地址才能安装。
发布前检查¶
- 插件可在干净 IDE 中从 ZIP 安装并启动。
- 关键功能有测试覆盖。
plugin.xml元数据完整。- 插件图标、描述、截图符合 Marketplace 展示要求。
- 版本号已更新。
- 已运行
buildPlugin、verifyPlugin和测试。 - 没有把依赖库错误打包进主插件 JAR。