我正在尝试将我的第一个Android库上传到Maven Central,但是在研究后,我发现没有适用于Gradle 7.2.0的适当文档。我找到了一些链接,但它们也已经过时。
目前为止我所做的事情:
- 在JIRA上注册
- 批准了我的项目并获取了访问nexus存储库的权限
- 生成了GPG密钥
现在需要配置gradle文件:
因此,我遵循了这个库 = https://github.com/vanniktech/gradle-maven-publish-plugin
- 在项目根目录下的build.gradle文件中,我已经添加了以下内容:
buildscript {
dependencies {
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.20.0' // NEW
classpath 'org.jetbrains.dokka:dokka-gradle-plugin:1.4.10.2' // NEW
}
}
在库的 build.gradle 文件中,我添加了这个插件。
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'com.vanniktech.maven.publish' // NEW
}
- 在项目根目录的gradle.properties文件中,我写了以下内容:
SONATYPE_HOST=S01
RELEASE_SIGNING_ENABLED=true
GROUP=io.github.Darkprnce
POM_ARTIFACT_ID=InnerDrawer
VERSION_NAME=1.0.0
POM_NAME=InnerDrawer
POM_PACKAGING=aar
POM_DESCRIPTION=Inner Drawer is a highly customizable navigation drawer.
POM_INCEPTION_YEAR=2022
POM_URL=https://github.com/Darkprnce/InnerDrawer
POM_SCM_URL=https://github.com/Darkprnce/InnerDrawer
POM_SCM_CONNECTION=scm:git@github.com:Darkprnce/InnerDrawer.git
POM_SCM_DEV_CONNECTION=scm:git@github.com:Darkprnce/InnerDrawer.git
POM_LICENCE_NAME=MIT License
POM_LICENCE_URL=http://www.opensource.org/licenses/mit-license.php
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=Darkprnce
POM_DEVELOPER_NAME=Tarun Yadvendu
POM_DEVELOPER_URL=https://github.com/Darkprnce
signing.keyId=FCF8EDCA
signing.password=[my signing password]
signing.secretKeyRingFile=secret-keys.gpg
ossrhUsername=[my username]
ossrhPassword=[my password]
- 然后在library的build.gradle文件中,我又指定了发布代码的内容。
publishing {
repositories {
maven {
url = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2"
credentials {
username = ossrhUsername
password = ossrhPassword
}
}
}
}
现在的问题是,当我在终端运行此命令时,它会给出错误的凭据错误。
* What went wrong:
Credentials required for this build could not be resolved.
> The following Gradle properties are missing for 'mavenCentral' credentials:
- mavenCentralUsername
- mavenCentralPassword
如果有人使用过这个库,请帮我一下,该库维护得很好,所以不会有问题,我只想知道正确的上传方式。
mavenCentralUsername
和mavenCentralPassword
,但是在您的gradle.properties
中却有ossrhUsername
和ossrhPassword
(旧指南?)。 - akarnokd~/.gradle/gradle.properties
,在那里存储这些密码是安全的。 - akarnokd