0

我在使用 Gradle 任务配置时遇到了订购问题。

我正在编写一个插件,该插件基于仅在通过构建脚本提供时才可用的信息创建任务。我可以在插件的apply()方法中创建任务,并在其方法中配置它doFirst()(此时必要的信息可用)。但是,我还想确保仅在必要时通过inputs/outputs属性执行任务。

这是有问题的,因为我必须在apply()方法中执行此操作(据我所知),但此时指定inputs/outputs属性值所需的信息不可用。

我尝试使用约定对象,但在完成后不可用apply()

有什么办法不会让我觉得脏吗?

4

1 回答 1

0

对于需要延迟的任务配置部分,您可以使用类似project.afterEvaluate {}or的钩子gradle.projectsEvaluated {},或者使用约定映射。后者被 Gradle 自己的插件广泛使用,但目前不被视为公共 API。

于 2013-02-19T14:03:35.350 回答