使用gitlab搭建maven仓库

文章目录

          • 解决的痛点
          • 基础准备
          • 1、创建插件
          • 2、部署到本地
          • 3、将代码提交到gitlab仓库
          • 4、引用仓库代码
          • 5、集成使用测试
          • 参考文章:

解决的痛点
  • 开发过程中,随着项目的发展,经常会有一些基础库需要打成aar或者jar的形式,分发到各个业务线去使用,往往每一次变更都需要各业务线手动替换aar或者jar包,成本很高。
  • 使用公司已有的gitlab搭建maven仓库,将相应的aar和jar包托管到maven仓库,各个业务线只需要通过implementation 引用方式即可使用,无需替换aar和jar包
  • 基础库发生变更后,只需要通过各个业务线修改依赖版本即可
基础准备
  • Android Studio
    • 本次使用的是Android Studio Bumblebee 版本
    • Gradle 版本是gradle-7.2
  • Gitlab仓库/Gitee仓库
1、创建插件
  • 使用Android Studio 新建Android项目并创建module

    创建的module名字可以根据用途自定义,本次使用logplugin命名

  • 删除module中无用文件夹,红框中的全部删除
    使用gitlab搭建maven仓库_第1张图片

  • 在logplugin中的build.gradle中配置maven打包上传脚本

plugins {
    id 'java-library'
    id 'maven-publish'  // maven插件
}

// 配置maven打包参数
publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'com.peter.example' // 包名
            artifactId = 'log-plugin   // 插件名
            version = '1.0.0             // 版本
             artifact "libs/mylibrary-release.aar"     // 将本地文件夹中aar包一起上传到仓库

            from components.java   // 生成jar包
        }
    }

    repositories {
        maven {
            // 配置本地部署文件夹,可根据不同系统自定义
            def mavenDirPath = file('D:\\maven')
            url = "file://${mavenDirPath.absolutePath}"
        }
    }

}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}
2、部署到本地
  • 配置完打包脚本后,点击同步,就会在studio中出现tasks列表,点击publish就将插件部署到了本地
    使用gitlab搭建maven仓库_第2张图片
  • 查看本地目录我们发现已经生成了log-plugin文件夹
    在这里插入图片描述
  • log-plugin包结构如下
    使用gitlab搭建maven仓库_第3张图片
3、将代码提交到gitlab仓库
  • 在gitlab中创建新项目
  • 将本地maven仓库代码提交到远程仓库
cd existing_folder
git init
git remote add origin git仓库地址
git add .
git commit -m "Initial commit"
git push -u origin master
4、引用仓库代码
  • 在项目settings.gradle中配置maven依赖
    使用gitlab搭建maven仓库_第4张图片
    • maven 中ur路径规则
    > https://域名地址/Group名称/项目名/raw/分支
    > 如果该项目是你自己的。而不是组里面的。那么Group名称就得换成你的用户名了
    
  • 在app工程build.gradle中添加implementation依赖
implementation 'com.peter.example:log-plugin:1.0.0'
  • 依赖规则
    包名:插件名:版本号
5、集成使用测试
  • 同步项目
  • 查看External Libraries
    在这里插入图片描述
    如果依赖库加载成功,则在External Libraries中可见
  • 依赖使用
    在这里插入图片描述
参考文章:

https://blog.csdn.net/wenwen091100304/article/details/89792240
https://zhuanlan.zhihu.com/p/145941547

你可能感兴趣的:(maven,maven,gitlab,android,android,studio)