我使用Gradle Kotlin DSL,在我的项目中,我有单独的build-dependencies gradle模块,它包含在settings.gradle.kts中,如下所示:
pluginManagement {
repositories {
google()
jcenter()
gradlePluginPortal()
}
}
includeBuild("build-dependencies")此模块包含空的插件实现和Deps对象。它的build.gradle.kts如下:
repositories {
google()
jcenter()
gradlePluginPortal()
}
plugins {
`kotlin-dsl`
`java-gradle-plugin`
}
gradlePlugin {
plugins.register("com.example.dependencies") {
id = "com.example.dependencies"
implementationClass = "com.example.dependencies.DependenciesPlugin"
}
}Deps对象:
object Deps {
const val buildTools = "com.android.tools.build:gradle:4.1.1"
// more dependencies
}我想通过在build.gradle.kts文件中应用这个插件,在所有模块中使用这个Deps对象。
plugins {
id("com.example.dependencies")
}它工作得很好,我可以导入和使用Deps对象。
但是当我想在根项目build.gradle.kts中使用它,更准确地说,在构建脚本中使用它时,会出现一个问题,如下所示:
buildscript {
repositories {
google()
jcenter()
}
plugins {
id("com.example.dependencies")
}
dependencies {
classpath(com.example.dependencies.Deps.buildTools) // It doesn't work
}
}有没有办法在buildscript中使用这样的自定义插件,或者你能建议一些东西来替代这种方法吗?
发布于 2020-12-16 12:40:50
我也想知道这一点。然而,我认为这就是includeBuild和buildSrc之间的区别。
https://stackoverflow.com/questions/65294187
复制相似问题