我正在尝试对“任务” 任务执行doFirst
操作。在这里,我指的是运行命令“ gradle task --all”时,在帮助程序任务下列出的名为“ tasks”的任务。
修改1开始
我的 build.gradle :
tasks.doFirst{ println "First executed"}
编辑1 END
它给我下面的错误:
Could not find method doFirst() for arguments [build_3m21dsbdvnnfh1sf7441k5d5v$_run_closure5@2cad909f] on task set of type org.gradle.api.internal.tasks.DefaultTaskContainer
我试图通过运行命令gradle help --task tasks
它表示类型为TaskReportTask (org.gradle.api.tasks.diagnostics.TaskReportTask)
然后我浏览至TaskReportTask
API文档。根据文档,该类从类doFirst
继承方法org.gradle.api.internal.AbstractTask
。我很困惑,如果在其中插入doFirst()方法,这为什么不起作用。
在这方面的任何指导都受到高度赞赏。
答案 0 :(得分:2)
问题是您尝试在属性doFirst
上调用方法tasks
,实际上是属性project.tasks
(TaskContainer
的{{1}}的实例,请参见Project DSL),而不是名为Project
的{{1}}对象。
改为使用以下内容:
Task