基于Java
语言与Gradle Api
开发的Gradle Plugin
,本Gradle插件
可以让你的library
发布到MavenCenter
和自己的nexus
私服变得非常容易。
内置了阿里云Maven
**仓库,其中配置了aliyun
代理的central
、jcenter
、google
。
classpath("io.github.szhittech:gradle-maven:0.0.9")
- 支持发布多种类型的库, 例如:
Java
、Android
、Kotlin
; - 支持在新的
gradle
中依赖方式api / implementation
; - 支持签名库资源,
包括sources
、Javadoc
、POM
(需要Gradle Version >= 4.8
) - 本插件内置了
signing
签名信息与文件(secring.gpg
)
classpath("io.github.szhittech:gradle-maven:0.0.9")
apply plugin: 'gradle.maven'
如果发布到MavenCenter
,该文件无需配置
ext {
groupId = "io.github.szhittech"
name = "gradle-maven"
version = "0.0.0-SNAPSHOT"
description = "A Gradle Plugin For Java、Android、Kotlin."
url = "https://e.coding.net/clife-devops/clifepublic/gradle-maven.git"
connection = "scm:git@github.com:szhittech/clifesdk.git"
authorId = "uuxia"
authorName = "xiamoumou"
authorEmail = "xxx@clife.com"
}
参数 | 必选 | 描述 |
---|---|---|
groupId | 是 | 项目组织唯一的标识符 |
name | 是 | 项目名称 |
version | 是 | 项目版本。有-SNAPSHOT 发布快照,没有发布release 版 |
description | 否 | 项目描述 |
url | 否 | 项目地址 |
connection | 否 | 项目地址 |
authorId | 否 | 作者ID |
authorName | 否 | 作者姓名 |
authorEmail | 否 | 作者邮箱 |
如上图,点击uploadToMaven
,即可将库发布到MavenCenter
发布MavenCenter
成功后 Release
版步审核步骤如下:
- 上述步骤成功后,请登录https://s01.oss.sonatype.org/;
- 页面左侧栏点击
Build Promotion
->Staging Repositories
; - 在
Staging Repositories
选项卡可以看到刚提交的release版本库,如:iogithubszhittect-xxxx
; - 勾选
iogithubszhittect-xxxx
,点击Close
; - 稍等几十秒
Refresh
,再次勾选iogithubszhittect-xxxx
,点击Release
,即可发布成功,等待大概4小时;
因本插件与groupId = "io.github.szhittech"
绑定,如果用户需要添加自己的groupid
,则需要在gradle.properties
配置Maven oss
账号
Maven oss
账号注册,请至https://s01.oss.sonatype.org/注册
gradle.properties
配置如下:
maven.name=maven
maven.username=你的oss账号
maven.password=你的oss密码
maven.release=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
maven.snapshot=https://s01.oss.sonatype.org/content/repositories/snapshots/
nexus.name=coding
coding.username=xiaoli.xia@clife.cn
coding.password=xxxxxx
coding.snapshot=https://clife-devops-maven.pkg.coding.net/repository/public-repository/maven-snapshots/
coding.release=https://clife-devops-maven.pkg.coding.net/repository/public-repository/maven-releases/
参数 | 必选 | 描述 |
---|---|---|
nexus.name | 是 | 自定义前缀名称,本例coding ,下面字段就都以coding 为前缀 |
coding.username | 是 | 私服用户名 |
coding.password | 是 | 私服密码 |
coding.snapshot | 是 | 私服快照版上传地址 |
coding.release | 是 | 私服release 版上传地址 |
ext {
groupId = "io.github.szhittech"
name = "gradle-maven"
version = "0.0.0-SNAPSHOT"
description = "A Gradle Plugin For Java、Android、Kotlin."
url = "https://e.coding.net/clife-devops/clifepublic/gradle-maven.git"
connection = "scm:git@github.com:szhittech/clifesdk.git"
authorId = "uuxia"
authorName = "xiamoumou"
authorEmail = "xxx@clife.cn"
}
参数 | 必选 | 描述 |
---|---|---|
groupId | 是 | 项目组织唯一的标识符 |
name | 是 | 项目名称 |
version | 是 | 项目版本。有-SNAPSHOT 发布快照,没有发布release 版 |
description | 否 | 项目描述 |
url | 否 | 项目地址 |
connection | 否 | 项目地址 |
authorId | 否 | 作者ID |
authorName | 否 | 作者姓名 |
authorEmail | 否 | 作者邮箱 |
如上图,点击uploadToCoding
,即可将库发布到Nexus私服
注意:这里的Coding
就是上文自定义的前缀(nexus.name
)
友情链接: