我正在嘗試將我的第一個 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:[email protected]:Darkprnce/InnerDrawer.git
POM_SCM_DEV_CONNECTION=scm:[email protected]: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]
- 然后再次在庫 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
所以如果有人使用過這個庫,那么請幫助我,這個庫維護得很好,所以沒有問題,我只想知道正確的上傳方式。
uj5u.com熱心網友回復:
在akarnokd 的幫助下,我能夠將我的庫上傳到 Maven Central。我為解決此問題而采取的步驟:
- 首先,我重命名了專案根目錄 => gradle.properties 中的屬性
ossrhUsername=[我的用戶名] ==> mavenCentralUsername ossrhPassword=[我的密碼] ==> mavenCentralPassword
- 現在每個人都可以使用上述資訊,因為我們剛剛在 gradle 檔案中提到了我們的用戶名和密碼,該檔案將與代碼一起上傳。所以為了防止這種情況,akarnokd建議我在 C:/users/darkprnce/.gradle/gradle.properties 中創建一個新的 gradle.properties 檔案,并將以下資訊放在該檔案中:
mavenCentralUsername=[my username]
mavenCentralPassword=[my password]
signing.keyId=[last 8 digit of your key]
signing.password=[signing password]
signing.secretKeyRingFile=secring.gpg
我們可以從庫 build.gradle 檔案中洗掉發布,因為它已經包含在庫中。
運行命令
./gradlew publish --no-daemon --no-parallel
它會將庫上傳到 Maven Central,然后您可以關閉存盤庫并釋放它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494187.html
下一篇:發現任務':url_launcher_android:syncReleaseLibJars'(型別'LibraryAarJarsTask')的配置有問題
