MAVEN_CENTRAL_AUTOMATION.md
原来的手动流程:
gradlew publishToMavenLocalmc.ps1 重签名现在的自动流程:
git tag v1.0.0 && git push origin v1.0.0支持同时发布到两个渠道,使用不同的 GROUP ID:
| 渠道 | GROUP ID | 依赖示例 |
|---|---|---|
| GitHub Packages | com.shuyu | implementation 'com.shuyu:gsyvideoplayer-java:11.3.0' |
| Maven Central | io.github.carguo | implementation 'io.github.carguo:gsyvideoplayer-java:11.3.0' |
两个渠道互不干扰,可以同时使用!
详见 双渠道发布指南
.\test-maven-publish.ps1
# 安装 act (一次性)
choco install act-cli
# 复制并配置 secrets
copy .secrets.example .secrets
# 编辑 .secrets 填入你的凭证
# 运行 workflow
act workflow_dispatch -W .github\workflows\publish-maven-central.yml --secret-file .secrets
.github/workflows/publish-maven-central.yml - GitHub Actions workflowgradle/maven-central-publish.gradle - Maven Central 发布配置test-maven-publish.ps1 - 本地测试脚本.secrets.example - act 测试用 secrets 模板doc/QUICK_START_MAVEN_CENTRAL.md - 快速指南doc/MAVEN_CENTRAL_PUBLISH.md - 完整文档在 GitHub 仓库设置这 4 个 Secrets:
MAVEN_CENTRAL_USERNAMEMAVEN_CENTRAL_PASSWORDGPG_PRIVATE_KEYGPG_PASSPHRASE在要发布到 Maven Central 的模块 build.gradle 中,添加:
// 保留原有的 GitHub Packages 配置
apply from: "$rootDir/gradle/publish.gradle"
// 新增 Maven Central 配置 (不是替换!)
apply from: "$rootDir/gradle/maven-central-publish.gradle"
// 保留原有的 publishing 配置
publishing {
repositories {
maven {
name = "gsyvideoplayer"
url = "https://maven.pkg.github.com/CarGuo/GSYVideoPlayer"
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}
}
这样配置后:
com.shuyu:module:versionio.github.carguo:module:versiongit tag v1.0.0
git push origin v1.0.0
或手动触发: GitHub → Actions → "Publish to Maven Central" → Run workflow
详见 文档