abkit(Android Build Kit)是一个Android组件化组件管理工具集,它是一个gradle插件,内部包含一些组件管理工具。使用示例请参考项目servicepool
abkit接入方法请查看项目readme。
本文介绍的是abkit的功能 —— 组件上传到maven私有仓库
模块化/组件化开发过程中,可能需要将Module打成aar并生成doc文档然后上传到公司/三方的/自己的Maven仓库。abkit集成了maven上传功能。 只需要简单的几步就可以配置好jar/aar上传功能。
第一步,在根目录下的gradle.properties、maven.properties或local.properties下增加如下几个属性,属性可以分散放到不同的properties文件 毕竟用户名/密码只适合放到local.properties
#组件打包上传时,默认会自动增加snapshot后缀,如果想打正式包,设置publishRelease为true
publishRelease=true
#普通用户的Nexus Maven仓库的用户名
nexusUserName=user
#普通用户的Nexus Maven仓库的密码
nexusPassword=user.password
#snapshot上传地址, 下面的值是插件内置的默认地址,需换成你自己的上传地址
nexusSnapshotUrl=http://47.99.188.223:8081//repository/maven-snapshots/
#是否需要管理账号才能上传正式包,可以按自己需求在Nexus自行配置,这里只提供方案,不强制。
#所以如果nexusSnapshotUrl填正式的上传地址也是可以的。
#管理账号,需要换成你自己的用户名
adminUserName=admin
#管理密码,需要换成你自己的密码
adminPassword=admin.password
#正式包的上传地址, 下面的值是插件内置的默认地址,需换成你自己的上传地址
nexusUrl=http://47.99.188.223:8081/repository/maven-releases/
第二步, 在需要上传的Module的build.gradle中,添加以下配置
abkit {
maven {
artifactId 'servicepool' // 组件artifactId
groupId 'chao.java.tools' // 组件groupId
versionName '1.0.0' // jar/aar版本
//这三个参数组合在一起就是 'chao.java.tools:servicepool:1.0.0'
//这里需要注意的是,如果没有设置publishRelease为true, 实际会生成'chao.java.tools:servicepool:1.0.0.snapshot'
}
}