tldr:我希望每当使用 Android Gradle 插件时自动运行一些任务配置。怎么办?
我有一个非常大的 gradle 项目,其中包含许多不同的构建脚本。有些是 android,有些是 java,有些完全是其他东西。
对于构建 android 目标的所有脚本,我需要运行一些任务配置。某种约定。有没有办法隐式地做到这一点?
我已经编写了代码并证明它可以在导入 Android 插件的构建脚本中工作,但是如果我将相同的代码复制到我的主
build.gradle.kts
文件中,我会得到失败的类解析,因为 com.android.gradle
不可用.
我需要运行的代码类似于:
tasks.withType(KotlinCompile::class.java).configureEach {
val ext = project.extensions.findByType(com.android.build.gradle.LibraryExtension::class)
if (ext != null) {
libraries
.from({ AndroidGradleWrapper.getRuntimeJars(project.plugins.getPlugin(com.android.build.gradle.LibraryPlugin::class.java), ext) })
}
}
如何在项目需要的地方自动应用该配置?
我知道我可以编写一个自定义约定插件,但随后我们需要转到所有构建脚本并导入它。我们将来可能会错过一些或忘记导入它。我想让脚本自动执行。