根据风味文件夹内容有条件地应用 gradle 插件

Apply a gradle plugin conditionally depending on a flavour folder contents

我需要在我的项目中有条件地将 com.google.gms.google-services 插件应用到某些口味。

我设法实现了与 类似的实现,但它仅适用于静态值(这意味着我需要硬编码要将此插件添加到的风格)。

我正在寻找一种解决方案,仅当某种风格包含 google-services.json 文件(或它在项目的继承树中)时才允许我应用插件,因此该解决方案很灵活并且确实不需要使列表保持最新。

我设法使用 project.android.applicationVariants 属性 为所有构建变体扫描此文件是否存在,但是一旦应用了所有插件,此检查就已经完成。这意味着不再需要此扫描的结果。

在应用插件之前,有没有办法在早期阶段使用项目的 applicationVariants 属性?

毕竟我遵循了启用插件的解决方案,但禁用了它为不应启用插件的风格引入的任务。因为它可以在我检查 google-services.json 文件存在时在同一个 project.android.applicationVariants 块中完成,所以它是这种情况的完美解决方案。

查看更多: