美文网首页实用干货
搭建组件仓库并发布

搭建组件仓库并发布

作者: zcwfeng | 来源:发表于2016-07-18 15:32 被阅读0次

    gradle maven nexus搭建组件仓库与发布

    多个Android app应用需要开发,那么很有可能你需要私有的公共库。如何使用sonar nexus搭建maven仓库

    1. 安装Nexus

    http://www.sonatype.org/nexus/go/上下载tar.gz或者zip格式压缩包。并且解压到本地,然后进入bin目录,执行nexus

    cd nexus-2.13.0-01/bin
    ./nexus start
    

    在浏览器中输入:127.0.0.1:8081/nexus可以看到这样的页面,表示已经安装成功了。


    nexus.png
    2. 建立仓库

    使用nexus默认账户名admin,密码admin123。登录进去看到已经建立了十几个仓库。
    点击工具栏add -> 选择hosted repository,然后填入repository id,和repository name-> 保存,这样就可以建立新的仓库了。
    如图,建立了一个名为juude的仓库。


    nexus2.png
    3. 上传library

    在已经建好的android library项目的build.gradle文件中,加入以下配置:

    apply plugin: 'maven'
    apply plugin: 'signing'
    signing {
        required { has("release") && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }
    
    uploadArchives {
        configuration = configurations.archives
        repositories.mavenDeployer {
            beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
            repository(url: 'http://192.168.1.19:8081/nexus/content/repositories/login-id/') {//仓库地址
                authentication(userName: "admin",//用户名
                        password: "admin123")//密码
            }
    
            pom.project {
                name 'baselib'
                packaging 'aar'
                description 'none'
                url 'http://192.168.1.19:8081/nexus/content/repositories/login-id/'//仓库地址
                groupId "com.yinyuetai.sdk.baselib"
                artifactId 'BaseLib' //LibA
                version "1.0"
            }
        }
    }
    

    第二种配置方式

    
    apply plugin: 'maven-publish'
    apply plugin: 'maven'
    
    uploadArchives {
        repositories.mavenDeployer {
            configuration = configurations.default
            repository(url: 'http://nexus.rd.xx.com/content/repositories/releases') {//仓库地址
                authentication(userName: "deployment",//用户名
                        password: "deployment")//密码
            }
    
            pom.project {
                packaging 'aar'
                groupId 'com.yinyuetai.android.lib'
                artifactId "base_lib" //LibA
                version '1.0.0'
            }
        }
    }
    

    现在在项目根目录执行./gradlew tasks,就可以看到多了一个选项:

    Upload tasks
    ------------
    uploadArchives - Uploads all artifacts belonging to configuration ':loginlib:archives'
    

    然后执行

    ./gradlew uploadArchives
    

    第二种界面执行方式

        在你的studio 右侧gradle bar,点开找到项目根节点下的Tasks,upload下面的uploadArchives,双击就可以发布了
    
    4. 使用library

    由于没有使用maven center,使用的时候需要提供自己的url地址,在build.gradle中加入:

    maven 
    {
                url "http://192.168.1.19:8081/nexus/content/repositories/login-id/"
    }
    

    格式如下

    allprojects {
        repositories {
            jcenter()
            
            maven {
                url "http://192.168.1.19:8081/nexus/content/repositories/login-id/"
            }
        }
    
    
    }
    

    然后在dependency里加入compile语句。

    compile 'com.yinyuetai.sdk.loginlib:LoginLib:1.0@aar'
    compile 'com.yinyuetai.sdk.okhttplib:OkhttpLib:1.0@aar'
    

    开心愉快的玩耍吧

    转载请注明出处:http://www.jianshu.com/u/c864df301e25

    相关文章

      网友评论

        本文标题:搭建组件仓库并发布

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