【发布时间】:2014-06-10 19:37:38
【问题描述】:
我有一项任务需要将在执行阶段创建的文件(它们是 gcov 单元测试阶段的产品)复制到另一个目录中。目前,我的代码只会在第二次执行时正确执行(即当目录结构中的文件已创建时)。然而,第一次,我收到“跳过任务,没有源文件”的调试消息。
task copyGcovObj(type: Copy, dependsOn: 'test') {
description "Copies gcov files into build/testOutput directory."
from fileTree(dir: "$buildDir/objectFiles", includes: ["**/*.gcno", "**/*.gcda"]).files
into ("$buildDir/testOutput")
}
代码取自这里:Flat copy。所指的任务“测试”是执行单元测试的任务。
我认为问题是在配置阶段,没有要复制的文件,所以 Gradle 跳过了任务。如果第二次执行,Gradle 会看到有文件,所以执行副本。如何让 Gradle 执行复制,但要复制的文件是在执行阶段确定的?
【问题讨论】:
标签: gradle task build.gradle