gpt4 book ai didi

Gradle 文件树懒惰的平面复制

转载 作者:行者123 更新时间:2023-12-01 08:29:18 25 4
gpt4 key购买 nike

我有一个任务需要将在执行阶段创建的文件(它们是 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 执行复制,但要复制的文件是在执行阶段确定的?

最佳答案

frominto 接受闭包来推迟对参数的评估,所以这应该有帮助:

from { fileTree(...).files }

关于Gradle 文件树懒惰的平面复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24149510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com