日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gradle使用maven_使用Gradle – 2019版从Travis可靠发布到Maven Central

發布時間:2023/12/3 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gradle使用maven_使用Gradle – 2019版从Travis可靠发布到Maven Central 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gradle使用maven

得益于在2018年和2019年末實現的顯式登臺存儲庫創建功能集,使您(自動)從Travis(不僅是)發布到Maven Central更加可靠。

背景

如果您僅想獲取有關如何使工件從Travis發行的信息更可靠的信息,請前進至另一部分。

從Gradle到Maven Central的自動工件發布(使用暫存庫及其升級)一直很棘手。 與這些操作相關的Nexus REST API的文檔非常少。 此外,Gradle本機不支持將工件上傳到專用的登臺存儲庫,即使它已經顯式創建。 結果,必須使用啟發式方法來確定哪個存儲庫僅包含上載的工件,這帶來了一些嚴重的限制。 問題的根源是Travis在2018年秋末將其架構更改為更加無狀態。這導致對特定工件的上載請求通過具有不同 IP地址的機器進行路由,從而導致為單個數據庫創建多個陳述式存儲庫gradle uploadArchives或gradle publish調用。 這使得Travis的Gradle自動釋放偽像的工作徹底中斷了。 直到現在。

改進措施

年末發生了兩件事。 首先是Marc Philipp 發布的新的nexus-publish插件。 它使用Nexus API創建了一個明確的登臺存儲庫,并增強了Gradle發布任務以使用該存儲庫。 第二件事是對我的gradle-nexus-staging插件進行了增強,該插件開始允許設置在發布操作期間應使用的登臺存儲庫ID。 從而提高了使用Gradle發布到Maven Central的可靠性。

無需依靠啟發式方法確定應使用哪個存儲庫進行發布,而是顯式創建了新的登臺存儲庫。 工件直接上傳到它,它已關閉并釋放。 因此,一切都變得更加流暢,并且更加防錯。 此外,并行發布屬于同一暫存配置文件的不同項目沒有問題,并且最終可以與Travis再次正常使用。

組態

這篇文章假設您已經配置了使用maven-publish插件將工件上傳到Maven Central(又名The Central Repository)。 如果沒有,您可以查閱此鏈接 。 此配置將使您的部署和發布更加可靠,而無需在Nexus UI中進行任何手動操作。

plugins { ... //other plugins used in your project id 'io.codearte.nexus-staging' version '0.20.0' id 'de.marcphilipp.nexus-publish' version '0.2.0' } publishing { ... //your current publishing to Maven Central configuration } //optionally nexusStaging { packageGroup = "your-package-group-if-different-than-groupId" } //optionally nexusPublishing { //for custom configuration if needed - credentials are by default taken from nexus-staging }

您期望編寫更多代碼(配置)嗎? 一切都隱藏在相互利用的插件中。 請記住使用nexus-staging 0.20.0+和nexus-publish 0.2.0+。

之后,發布和發布工件就只需一個命令:

. /gradlew publishToNexus closeAndReleaseRepository

不是publish ,而是使用publishToNexus任務,該任務用于設置登臺存儲庫ID和closeAndReleaseRepository ,用于關閉和釋放該特定存儲庫。 幾分鐘后,您的工件應在Maven Central中可用。

重要的 。 請記住,必須在一個Gradle執行中使用publishToNexus和closeAndReleaseRepository ,才能利用顯式創建的登臺存儲庫。

摘要

Gradle是一個非常不錯的構建工具,其中(幾乎)天空是極限。 不幸的是,仍然存在一些長期存在的問題,需要使用一些技巧或編寫自定義插件來克服它們。 有希望的是,隨著每個發行版的發布,它們都將被緩慢地修復/ 實施 。 為了解決該特定問題,需要進行自下而上的工作以將Travis的釋放恢復正常,并且更加可靠。

請注意 。 所介紹的方法非常適合使用(最近改進的)發布插件。 如果您仍然使用舊的maven插件(具有uploadArchives任務而不是publish任務),則需要遷移和/或在相應的問題中添加評論。

翻譯自: https://www.javacodegeeks.com/2019/02/releasing-maven-central-travis-gradle.html

gradle使用maven

總結

以上是生活随笔為你收集整理的gradle使用maven_使用Gradle – 2019版从Travis可靠发布到Maven Central的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。