P_K*_*ing 11 android gradle gradle-plugin gradle-kotlin-dsl
我使用 Gradle Kotlin DSL,在我的项目中我有单独的build-dependenciesgradle 模块,settings.gradle.kts如下所示:
pluginManagement {
repositories {
google()
jcenter()
gradlePluginPortal()
}
}
includeBuild("build-dependencies")
Run Code Online (Sandbox Code Playgroud)
该模块包含空插件实现和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"
}
}
Run Code Online (Sandbox Code Playgroud)
部门对象:
object Deps {
const val buildTools = "com.android.tools.build:gradle:4.1.1"
// more dependencies
}
Run Code Online (Sandbox Code Playgroud)
我想Deps通过在文件中应用插件来在所有模块中使用这个对象build.gradle.kts。
plugins {
id("com.example.dependencies")
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,我可以导入和使用Deps对象。
但是当我想在根项目中使用它时build.gradle.kts,更准确地说在构建脚本中使用它时,会出现一个问题,如下所示:
buildscript {
repositories {
google()
jcenter()
}
plugins {
id("com.example.dependencies")
}
dependencies {
classpath(com.example.dependencies.Deps.buildTools) // It doesn't work
}
}
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以像这样在构建脚本中使用自定义插件,或者您可以建议一些东西来代替这种方法?
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |