我有Gradle任务配置的订购问题。
我正在编写一个插件,该插件基于仅在通过构建脚本提供时才可用的信息创建任务。我可以在插件的apply()
方法中创建任务,并使用其doFirst()
方法配置它(此时必要的信息可用)。但是,我还要确保只在必要时通过inputs
/ outputs
属性执行该任务。
这是有问题的,因为我必须在apply()
方法中执行此操作(据我所知),但此时指定inputs
/ {{1}所需的信息属性值不可用。
我尝试使用约定对象,但在outputs
完成后无法使用。
有什么方法可以让我感觉不舒服吗?
答案 0 :(得分:0)
对于需要延迟的任务配置的那些部分,您可以使用project.afterEvaluate {}
或gradle.projectsEvaluated {}
之类的挂钩,也可以使用约定映射。后者被Gradle自己的插件广泛使用,但目前不被视为公共API。