美文网首页
利用bintray-release插件上传jcenter流程和踩

利用bintray-release插件上传jcenter流程和踩

作者: YocnZhao | 来源:发表于2020-12-03 15:43 被阅读0次

    1. 上传流程

    参考了hongyang的教程https://blog.csdn.net/lmj623565791/article/details/51148825,教程相当简练,藏坑不少。
    下面说我在上传的过程中需要注意的点和踩到的几个坑。
    bintray-release的好处是流程相对简单,配置很少的东西就可以了。
    1、https://bintray.com/注册账号,需要注意的是需要点Sign Up to an Open Source account这个地方来注册,直接注册的话是跟网上的教程不对付的。

    signin.png

    我是用Github的账号signin的,最好用github的登录注册,因为最终的代码还需要上传到github上才行。
    2、创建repository,需要注意的就是名字需要叫maven,类型也选成Maven。bintray-release需要仓库的名字叫maven

    createe.png

    3、按照hongyang的教程创建脚本并上传

    publish {
        userOrg = 'yocn'//bintray.com用户名,右上角
        groupId = 'com.yocn'//jcenter上的路径
        artifactId = 'seep'//项目名称
        publishVersion = '1.0.0.alpha'//版本号
        desc = 'Oh hi, this is a nice description for a project, right?'//描述,不重要
        website = 'https://github.com/yocn/SeepForDebug'
    }
    

    需要注意的点:
    1、userOrg = 'yocn'这个是右上角的用户名

    user.png

    2、website = 'https://github.com/yocn/SeepForDebug'这个很重要,需要你把代码传到github上,这个就是你项目的地址,网上还有一些文章说不要设置成ssl的方式,这里我没有试过,不确定是不是有问题。

    seep.png

    上传脚本就按照教程来就好了,没有什么坑
    ./gradlew clean build bintrayUpload -PbintrayUser=yocn -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -PdryRun=false

    2. 遇到的几个问题

    Unable to load class ‘org.gradle.api.internal.component.Usage’.
    No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
    

    bintray-release现在最高的版本是0.9.2,我新建的新项目用的是gradle tools 6.0.1,貌似不支持,修改成gradle-5.4.1-all.zip 对应的com.android.tools.build:gradle:3.5.2

    Execution failed for task ':bintrayPublish'.
    > Could not publish 'xxxx/maven/seep/1.0.0.alpha': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
    

    要不然是用户名写错了 或者是 没有上传git,检查一下哪里的问题

    Could not publish 'zhaoyocn/maven/seep/1.0.0.alpha': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
    

    上面说的仓库没有命名成maven,添加一个叫maven的仓库重试一下。

    Execution failed for task ':seep:javadocRelease'.
    > Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): '/Users/yocn/SeepForDebug/seep/build/tmp/javadocRelease/javadoc.options'
    

    上传至jcenter时报此错误,解决方法:在项目的build.gradle的最外层加入:

    tasks.getByPath(":(你想要禁止的module名称,如app):javadocRelease").enabled = false
    

    如:

    tasks.getByPath(":app:javadocRelease").enabled = false
    

    sync项目,OK了。

    相关文章

      网友评论

          本文标题:利用bintray-release插件上传jcenter流程和踩

          本文链接:https://www.haomeiwen.com/subject/onimwktx.html