背景
由于一个项目多个 module 中都会涉及到许多的依赖项,并且依赖的版本不同可能也会导致问题.所以衍生了很多的版本管理方法.这里介绍一个 kotlin 代码管理的方式
使用
配置文件
新建一个项目根目录下的 buildSrc
文件夹,按照 Android 代码包格式放入一个依赖文件管理 .kt
文件.并在该 buildSrc
顶层中放入一个 build.gradle.kts
.
主要原理是利用了保留文件名 buildSrc
来放置一些配置文件,从而在 gradle 中引用,来达到版本管理功能.
下面是这些文件内容
build.gradle.kts
repositories {
jcenter()
}
plugins {
`kotlin-dsl`
}
dependencies.kt
这个文件内容可以按照自己的喜好来设计
object Versions {
const val ktlint = "0.41.0"
}
object Libs {
const val androidGradlePlugin = "com.android.tools.build:gradle:7.0.0"
const val jdkDesugar = "com.android.tools:desugar_jdk_libs:1.1.5"
const val junit = "junit:junit:4.13"
const val material = "com.google.android.material:material:1.3.0"
object Accompanist {
const val version = "0.15.0"
const val insets = "com.google.accompanist:accompanist-insets:$version"
}
object Kotlin {
private const val version = "1.5.10"
const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$version"
const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$version"
const val extensions = "org.jetbrains.kotlin:kotlin-android-extensions:$version"
}
}
object Urls {
const val composeSnapshotRepo = "https://androidx.dev/snapshots/builds/" +
"${Libs.AndroidX.Compose.snapshot}/artifacts/repository/"
const val accompanistSnapshotRepo = "https://oss.sonatype.org/content/repositories/snapshots"
}
使用配置
可以在 gradle 中引用依赖后使用即可,比如
import com.leonchen1024.buildsrc.Libs
import com.leonchen1024.buildsrc.Urls
import com.leonchen1024.buildsrc.Versions
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath Libs.androidGradlePlugin
classpath Libs.Kotlin.gradlePlugin
}
}
About Me
我的博客 csdn
我的 GitHub https://github.com/LeonChen1024
微信公众号 CooCoder