在本文中,我想描述将aar发布到maven仓库的必要步骤。 还有其他涉及此主题的指南,此处写的一些信息是从中得出的,但是在本指南中,我想逐步描述过程,而没有详细介绍gradle方面,而是着重于创建签名密钥并检查签名。最后结果。
脚步
要发布Aar到Maven Central,您需要:
- 注册一个帐户并创建一个新票证( https://issues.sonatype.org )
- 下载(如果使用OS X)GPGTools( http://www.gpgtools.org/ )
- 修改项目Gradle文件
- 创建签名密钥
- 将文件生成,签名并发布到暂存库
- 检查结果
第1步非常容易,您可以按照此官方指南进行操作,请注意,通常,在打开上载票证后,您通常需要等待两个工作日,然后才能上载文件。
修改项目Gradle文件
为了发布您的aar,您必须添加/修改一些gradle文件并创建一些属性文件。 此处的所有信息和文件都是从此处和此处复制的,我将不解释它们,因为在这些博客中已经对它们进行了很好的解释。 您必须添加到项目根目录的第一个文件是maven_push.gradle,为简单起见,我在这里编写了该文件:
apply plugin: 'maven'
apply plugin: 'signing'
def sonatypeRepositoryUrl
if (isReleaseBuild()) {
println 'RELEASE BUILD
sonatypeRepositoryUrl = hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
: "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
} else {
println 'SNAPSHOT BUILD'
sonatypeRepositoryUrl = hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
: "https://oss.sonatype.org/content/repositories/snapshots/"
}
def getRepositoryUsername() {
return hasProperty('nexusUsername') ? nexusUsername : ""
}
def getRepositoryPassword() {
return hasProperty('nexusPassword') ? nexusPassword : ""
}
afterEvaluate { project ->
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
pom.artifactId = POM_ARTIFACT_ID
repository(url: sonatypeRepositoryUrl) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
pom.project {
name POM_NAME
packaging POM_PACKAGING
description POM_DESCRIPTION
url POM_URL
scm {
url POM_SCM_URL
conne