将自己的AAR库发布到JFrog私服上

2 篇文章 0 订阅
2 篇文章 0 订阅
自己搭建了JFrog Maven私服,客户端开发的库可发布到JFrog私服供其他App使用。

 一、修改配置文件

1.1 修改工程根目录下的build.gradle,在dependencies{}里面增加依赖,代码如下:

classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4"



1.2 修改工程的库模块里面的build.gradle文件,在里面增加以下代码,如下:

 apply plugin: 'com.jfrog.artifactory'
 apply plugin: 'maven-publish'
 
 def MAVEN_LOCAL_PATH ='http://localhost:8080/artifactory'
 def GROUP_ID = 'com.sk.test'
 def ARTIFACT_ID = 'testsdk'
 def VERSION_NAME = '1.0.0'
 
 publishing {
     publications {
         aar(MavenPublication) {
             groupId GROUP_ID
             artifactId ARTIFACT_ID
             version = VERSION_NAME 

             // Tell maven to prepare the generated "*.aar" file for publishing
             artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
             pom.withXml {
                 def dependencies = asNode().appendNode('dependencies')
                 configurations.compile.allDependencies.each{
                     // 如果有compile fileTree(),group会为空,需要去除
                     if(it.group != null) {
                         def dependency = dependencies.appendNode('dependency')
                         dependency.appendNode('groupId', it.group)
                         dependency.appendNode('artifactId', it.name)
                         dependency.appendNode('version', it.version)
                     }
                 }
             }
         }
     }
 }
 
 artifactory {
     contextUrl = MAVEN_LOCAL_PATH
     publish {
         repository {
 
             // The Artifactory repository key to publish to
             repoKey = 'gradle-release-local'
             username = "admin"
             password = "admin"
 
             defaults {
                 // Tell the Artifactory Plugin which artifacts should be published to Artifactory.
                 publications('aar')
                 publishArtifacts = true
                 // Properties to be attached to the published artifacts.
                 properties = ['qa.level': 'basic', 'dev.team': 'core']
                 // Publish generated POM files to Artifactory (true by default)
                 publishPom = true
             }
         }
     }
 }



各定义说明,以maven依赖正常使用为例来说明,假如需要使用的依赖是:

compile 'com.sk.test:testsdk:1.0.0'         
        |----- 1 ---|---2---|--3--|


MAVEN_LOCAL_PATH JFrog上的创建的Local仓库,'''记得私有的必须创建Local类型的'''。remote会发布到共有库上。
自己搭的JFrog私服地址是 http://localhost:8080/artifactory  

GROUP_ID 一般情况下是你library的包名,上面的1部分(com.sk.test)

ARTIFACT_ID 你library的名字,建议使用当前库module的名字,在后面配置的时候方便使用。上面的2部分(testsdk)

VERSION_NAME 版本号,当前库的版本名称,升级时有用。上面的3部分(1.0.0)


repoKey 是你JFrog上面创建Local仓库时,输入的repository key。上面已经创建了一个repoKey: gradle-release-local

username 是JFrog的用户名。

password 是JFrog登录密码。




二、编译上传

配置完成之后,即可编译上传。图形界面操作

2.1 在android studio右边的Gradle模块中, 双击 库模块名/build 下面 assembleRelease  

2.2 双击 库模块名/publishing 下面 generatePomFileForAarPublication

2.3 双击 库模块名/publishing 下面 artifactoryPublish 上面3步不知道在哪儿,可以看这张图片,依次操作:

 
 
如果以上3布都没有错,即上传成功。可以去JFrog上面查看结果。
 

也可以使用命令操作, 命令行操作如下:

gradle assembleRelease generatePomFileForAarPublication artifactoryPublish

命令行操作执行gradle的task,实际上与界面操作是一样的。


三、使用
在项目中使用库
3.1 客户端在自己的项目根目录下的build.gradle文件中增加maven仓库,代码如下:
maven { 
     url "http://localhost:8080/artifactory/gradle-release-local" 
 }
 



3.2 客户端在自己项目的build.gradle文件中配置依赖即可,如下:

compile 'com.sk.test:testsdk:1.0.0'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值