gradle maven nexus搭建組件倉(cāng)庫(kù)與發(fā)布
多個(gè)Android app應(yīng)用需要開(kāi)發(fā),那么很有可能你需要私有的公共庫(kù)登钥。如何使用sonar nexus搭建maven倉(cāng)庫(kù)
1. 安裝Nexus
從http://www.sonatype.org/nexus/go/上下載tar.gz或者zip格式壓縮包肾筐。并且解壓到本地良价,然后進(jìn)入bin目錄篓像,執(zhí)行nexus
cd nexus-2.13.0-01/bin
./nexus start
在瀏覽器中輸入:127.0.0.1:8081/nexus可以看到這樣的頁(yè)面触徐,表示已經(jīng)安裝成功了夺英。
2. 建立倉(cāng)庫(kù)
使用nexus默認(rèn)賬戶名admin晌涕,密碼admin123。登錄進(jìn)去看到已經(jīng)建立了十幾個(gè)倉(cāng)庫(kù)痛悯。
點(diǎn)擊工具欄add -> 選擇hosted repository余黎,然后填入repository id,和repository name-> 保存载萌,這樣就可以建立新的倉(cāng)庫(kù)了惧财。
如圖,建立了一個(gè)名為juude的倉(cāng)庫(kù)扭仁。
3. 上傳library
在已經(jīng)建好的android library項(xiàng)目的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/') {//倉(cāng)庫(kù)地址
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/'//倉(cāng)庫(kù)地址
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') {//倉(cāng)庫(kù)地址
authentication(userName: "deployment",//用戶名
password: "deployment")//密碼
}
pom.project {
packaging 'aar'
groupId 'com.yinyuetai.android.lib'
artifactId "base_lib" //LibA
version '1.0.0'
}
}
}
現(xiàn)在在項(xiàng)目根目錄執(zhí)行./gradlew tasks,就可以看到多了一個(gè)選項(xiàng):
Upload tasks
------------
uploadArchives - Uploads all artifacts belonging to configuration ':loginlib:archives'
然后執(zhí)行
./gradlew uploadArchives
第二種界面執(zhí)行方式
在你的studio 右側(cè)gradle bar乖坠,點(diǎn)開(kāi)找到項(xiàng)目根節(jié)點(diǎn)下的Tasks搀突,upload下面的uploadArchives,雙擊就可以發(fā)布了
4. 使用library
由于沒(méi)有使用maven center,使用的時(shí)候需要提供自己的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語(yǔ)句仰迁。
compile 'com.yinyuetai.sdk.loginlib:LoginLib:1.0@aar'
compile 'com.yinyuetai.sdk.okhttplib:OkhttpLib:1.0@aar'
開(kāi)心愉快的玩耍吧