最近得閒 將封裝的開源項目上傳到JCenter
上,方便供你們使用,可是忽然發現Bintray
網站更新變化很大, 之前老方法上傳,過於複雜,代碼量也不少,每次編寫新庫上傳,複製代碼心累,你們都懂。因而百度,有沒有更簡便上傳方式 我在網上網上不少博客講解的 Bintray-極簡上傳Library到JCenter 發現對自定義maven倉庫名配置, 不少博客文章裏沒有說明,這一篇文章是講解如何上傳自定義maven倉庫下。java
開始咱們的上傳之路!android
註冊是踩坑的第一步,不少博客或者網站都是直接推薦去官網首頁註冊:git
絕對不要去這裏註冊 github
注意:千萬別點這裏註冊,這裏如今默認註冊的是組織,並非我的web
我就是這一步走錯了被這一步坑了,致使一天都沒將開源項目提上去windows
重要的事情說三遍:api
我的正確的註冊地址:bintray.com/signup/ossbash
我的正確的註冊地址:bintray.com/signup/ossoracle
我的正確的註冊地址:bintray.com/signup/ossapp
後邊註冊的步驟就很簡單了,有github
或者google
帳戶的同窗直接登陸就好了,若是要註冊須要注意郵箱不能是國內的郵箱
key
和user
maven
倉庫注意:建立的maven倉庫類型都寫成maven,倉庫名稱 任意名字,後面配置信息會用到倉庫名稱
查看了網上的不少上傳方法都很複雜,也都親自實踐過,給你們介紹最簡單的一種,其餘複雜的直接忽略了,由於也不是什麼很高深的東西,只要能到達目的就好了!
jecenter-Jecenter上傳開源庫有興趣的同窗能夠去看看源碼
前提是你已經將須要開源的項目獨立成
module
,而且已是com.android.library
build.gradle
中加入上傳開源庫的依賴:classpath 'com.novoda:bintray-release:0.8.0'
複製代碼
library
的module
中加入 apply
apply plugin: 'com.novoda.bintray-release'
複製代碼
注意:bintray-releas的版本 依賴,對應你項目使用 Gradle 版本
1.bintray-releas version 0.8.0+ 對應 Gradle 是 version 4.1+ (包括4.1)(4.5 不適用)
2.bintray-releas version 0.7.0 對應 Gradle 是 version 4.1+ (包括4.1)
3.bintray-releas version 0.6.1 對應 Gradle 是 version 4.1+ (包括4.1)
4.bintray-releas version 0.5.0 對應 Gradle 是 version 3.4+ (包括3.4)
5.bintray-releas version 0.4.0 對應 Gradle 是 version 3.3+ (包括3.3)
6.bintray-releas version 0.3.4 對應 Gradle 是 version 1.3.0+(包括1.3)
若是版本不對應 就有可能項目庫上傳失敗 紅線內沒有版本號信息
module
的build.gradle
加入格式allprojects {
repositories {
jcenter()
}
//加上這些
tasks.withType(Javadoc) {
options{ encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api"
}
}
}
//kotlin類庫上傳
//很是重要 要不它不認識你的項目.kt文件名 其中airpurgeview是你的library名
tasks.getByPath(":airpurgeview:releaseAndroidJavadocs").enabled = false
複製代碼
如何你的類庫採用kotlin語言, 請加上tasks.getByPath(":airpurgeview:releaseAndroidJavadocs").enabled = false
module
的build.gradle
android {
******
******
lintOptions {
abortOnError false
}
}
複製代碼
publish {
repoName="ycjiang"//倉庫名
userOrg = 'ycjiang' //bintray註冊的用戶名
groupId = 'com.ycjiang' //compile引用時的第1部分groupId
artifactId = 'QiniuModule' //compile引用時的第2部分項目名
publishVersion = '1.0.1' //compile引用時的第3部分版本號
desc = 'This is a rxbus same of eventbus extend library '//d項目描述
repoName="ycjiang" //你的倉庫名稱,沒有填寫默認倉庫是maven//這也是不少人上傳倉庫不對名問題最多狀況,
website = '' //github 託管地址
}
複製代碼
repoName 若是沒有填寫,上傳的庫默認倉庫是maven,這個:bintray-release上傳也是最多緣由.
不少用戶的壓根沒有這個倉庫, 而後百度,發現,Bintray須要手動建立倉庫是maven。
既然手動建立倉庫,爲何倉庫名爲什麼本身用定義倉庫名, Bintray是能夠新建倉庫. repoName 這個屬性就能夠本身項目上傳到本身定義倉庫下。
經過配置咱們最後的依賴地址=第一部分+第二部分+第三部分;
compile 'com.ycjiang:QiniuModule:1.0.1'
複製代碼
版本更新只須要修改publishVersion 便可;
AndroidStudio temrinal
或者cmd
後臺中運行:windows
系統:gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
複製代碼
os x
系統中若是出現拒絕該命令./gradlew: Permission denied
,能夠先運行 chmod +x gradlew
再運行該命令;第一次運行須要下載文件須要稍微等待。
./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
複製代碼
其中BINTRAY_USERNAME換成bintray註冊的用戶名,BINTRAY_KEY換成本身的APIKEY
回車執行命令,看到BUILD SUCCESS即上傳成功
Jecenter
中回到主頁的你上傳倉庫中,點擊進入,若是你上次成功便可看見你剛剛上次的開源項目
點擊進入項目中,而後點擊add
加入commit
就好了,通常須要等待審覈經過,通常5-6小時 commit內容推薦是同英文,不要中文
在審覈經過前能夠經過配置本身私有倉地址使用
在更目錄下build.gradle配置地址
allprojects {
repositories {
jcenter()
jcenter(){ url 'http://jcenter.bintray.com/'} //JCenter下載慢測試
maven { url "https://dl.bintray.com/ycjiang/maven" }//審覈前可以使用
}
複製代碼
項目中加入依賴:
compile 'com.ycjiang:QiniuModule:1.0.1'
複製代碼
好了,如今你就能夠在你項目中依賴你的開源庫了,就是這麼簡單!
在第一次上傳的過程當中能夠參考個人工程仿照配置