gradle7.4使用buildSrc统一管理依赖

好像gradle7就用不了ext了,一 apply 就报错,看到很多人都推荐kotlin+buildSrc,确实简单方便。

这里记录一下使用kotlin+buildSrc实现统一依赖管理。

0. 先添加镜像

详情),不需要的可以直接跳过

根目录,settings.gradle

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven {
            allowInsecureProtocol = true
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
        maven {
            allowInsecureProtocol = true
            url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        }
        maven {
            allowInsecureProtocol = true
            url 'http://maven.aliyun.com/nexus/content/repositories/google'
        }
        maven {
            allowInsecureProtocol = true
            url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin'
        }
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
rootProject.name = "ChatTest"
include ':app'
include ':im_lib'
1. 创建目录和文件

参考文章

[译]Kotlin + buildSrc:更好的管理Gadle依赖 - 掘金

在根目录创建普通目录buildSrc,gradle运行时会自动编译和加载该目录
 
创建buildSrc/build.gradle.kts

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
    google()
    gradlePluginPortal()
}

创建buildSrc/src/main/java/Dependencies.kt

object Versions {
    const val fastjson = "1.2.49"
    const val protobuf = "3.24.4"
}

object Libs {
    const val fastjson = "com.alibaba:fastjson:${Versions.fastjson}"
    const val protobuf = "com.google.protobuf:protobuf-java:${Versions.protobuf}"
}
2. 执行一次Gradle Sync任务

执行操作后,现在可以随意访问Dependencies.kt中任何值了

buildSrc目录也会自动变成module

在子模块中引用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值