如何声明对现有 Gradle 任务的额外依赖?

Cas*_*ang 5 android gradle swagger openapi

Gradle 8.1 (Android Studio Giraffe)要求任务之间显式或隐式依赖关系。如果我要生成要由 Android Gradle 插件使用某些 OpenAPI 工具打包的资源,我不明白如何根据 Gradle 提供的提示来增强 Android Gradle 插件拥有的现有 Gradle 任务:

Possible solutions:
  1. Declare task ':app:generateOpenApiFooBar' as an input of ':app:packageDebugResources'.
  2. Declare an explicit dependency on ':app:generateOpenApiFooBar' from ':app:packageDebugResources' using Task#dependsOn.
  3. Declare an explicit dependency on ':app:generateOpenApiFooBar' from ':app:packageDebugResources' using Task#mustRunAfter.
Run Code Online (Sandbox Code Playgroud)

有没有办法访问现有的“packageDebugResources”任务并添加对我的插件的依赖项?类似以下内容(在我尝试过的任何变体中都不起作用):

tasks.named('packageDebugResources').dependsOn generateOpenApiFooBar
Run Code Online (Sandbox Code Playgroud)

Jas*_*hil 0

您可以使用project.tasks 属性来获取对项目中所有任务的引用。然后,您可以使用dependsOn方法添加对插件任务的依赖项。

project.tasks['packageDebugResources'].dependsOn('generateOpenApiFooBar')
Run Code Online (Sandbox Code Playgroud)