检测到 Android 插件时自动运行 Gradle 代码

问题描述 投票:0回答:1

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) })
    }
}

如何在项目需要的地方自动应用该配置?

我知道我可以编写一个自定义约定插件,但随后我们需要转到所有构建脚本并导入它。我们将来可能会错过一些或忘记导入它。我想让脚本自动执行。

gradle android-gradle-plugin
1个回答
0
投票

通常 Gradle 在启用时会自行执行此操作:

org.gradle.configureondemand=true

按需配置

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.