发布开源库的踩坑经历:jitpack.io
前言
很多小伙伴自己寫了一個庫,打算開源出來,但是直接給別人發jar包或者aar包,別人使用都很不方便,而且版本更新也不方便,所以很多小伙伴把開源庫放到了遠程倉庫里(如maven或jcenter),但是麻煩就麻煩在需要打包導出等。
而今天我要推薦一個超級方便的遠程倉庫:JitPack | Publish JVM and Android libraries
使用方法
以安卓開源庫為例子(java庫也類似)(這個是適用于gradle7以下的,新的gradle7集成方式,放在最后面)
這個是現在的最新版本,查看最新版本請看網址:https://github.com/dcendents/android-maven-gradle-plugin
? ? 3.在要開源的module的build.gradle的最上面中加入:
apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven'//this group='com.github.ltttttttttttt'//this下面這一句是:group='com.github.你的github昵稱'
? ? 4.然后將項目提交到GitHub上
? ? 5.給GitHub的你這個開源庫創建一個新的版本
更新圖(創建版本的位置改了):
輸入一個版本號,然后可不填其他信息,點擊Publish release按鈕即可
? ? 7.打開網址:JitPack | Publish JVM and Android libraries
? ? 8.使用你的GitHub賬號登陸一下,沒有則使用GitHub注冊(現在不用登陸也可以了?)
? ? 9.輸入信息并查詢
輸入你的GitHub昵稱/你開源庫的名稱,然后點Look up按鈕
10.注意坑
下面會列出你GitHub的版本,然后點擊Get it即可
需要注意的是,如果日志圖標為紅色則說明有錯誤,需要點擊日志按鈕去更改錯誤,綠色的表示你可以使用了,我之前一直發布不出來就是因為我的瀏覽器我給改色了,結果看不出來顏色(無奈臉)
ps:更改錯誤是指,查看他給你的紅色日志,然后看自身的代碼哪有問題,改完之后提交代碼到GitHub,然后在增加新的版本號,在來測試能不能通過
11.使用就很簡單了
在根項目的build.gradle文件中加入:
allprojects {repositories { ...maven { url 'https://jitpack.io' }} }需要添加的地方加入:
implementation 'com.github.ltttttttttttt:ltviews:2.0.6'格式是:implementation 'com.github.GitHub昵稱:開源庫名稱:版本號'
新的集成方式
在你的model的build.gradle文件種修改如下(build.gradle.kts暫時不知道怎么改):
ps:這個新jitpack集成真是一言難盡啊,佛了...可以參考我的項目配置(ltttttttttttt/load-the-image: load-the-image Apply to compose-jb(desktop), Used to load network and local pictures. (github.com)),如果構建報錯了就在日志里搜索:FAILURE
plugins{id("maven-publish")//this }group = "com.github.ltttttttttttt"//this version = "1.0.0"//thisjava { // withSourcesJar()//this ps:這兩行加不加好像沒什么區別? // withJavadocJar()//this }//然后是下面幾行,剛開始按照文檔做的不行(或者照著官方示例來搞),后來參考文章的弄好了: https://juejin.cn/post/7013667201722875935 publishing {publications {maven(MavenPublication) {from components.java}} }然后由于編譯gradle7的程序需要指定jdk為11,所以在項目根目錄創建文件jitpack.yml,輸入以下內容:
jdk:- openjdk11結語
接下來就ok了,只能說很多事情要細心觀察,不要被其他事物給蒙蔽了(比如瀏覽器插件)
ps記錄下:看到一篇gradle7.0和java11的問題,先記錄下,以后慢慢會升到的emmm
小知識 - Gradle7.0之后JitPack發布組件需要注意的幾個問題 - 掘金
總結
以上是生活随笔為你收集整理的发布开源库的踩坑经历:jitpack.io的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kotlin的基本数值类型问题:是对象?
- 下一篇: 图解八大排序算法