Joh*_*ohn 3 task gradle build.gradle
我有一项任务需要将在执行阶段创建的文件(它们是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")
}
Run Code Online (Sandbox Code Playgroud)
代码取自这里:平面副本.引用的任务'test'是执行单元测试的任务.
我认为问题是在配置阶段,没有要复制的文件,因此Gradle会跳过任务.如果它再次执行,Gradle会看到有文件,因此执行复制.如何使Gradle执行复制,但要复制的文件是在执行阶段确定的?
from并into接受闭包以推迟对参数的评估,因此这应该有所帮助:
from { fileTree(...).files }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |