【发布时间】:2021-11-23 12:15:31
【问题描述】:
我有一个 Gradle 规则,例如:
tasks.addRule("Pattern: updatelight<Path> (copies files to ../<Path>).") { String taskName ->
if (taskName.startsWith("updatelight")) {
task([ "type": Copy ], taskName) {
def projectGroups = (sub + root)
def testEnvPath = taskName - 'updatelight'
into ("../${testEnvPath}/")
logger.info("Copies user.xml")
projectGroups.each { project ->
if (!project.isEmpty()) {
from (project.output) {
into "cfg/${project.newPath}"
eachFile { file ->
println " ${file.sourcePath} -> ${file.path}"
println '----------------------------------------------'
}
}
}
}
[...]
我的问题是,eachFile { ... } 没有打印到控制台。有什么提示吗?我是 Gradle 新手,只是尝试向现有任务添加一些日志记录。
【问题讨论】:
-
它可能无法解决您的问题。但是您已经声明了一个名为“project”的闭包变量。不要这样做,它会覆盖/隐藏核心“项目”属性(例如Project.getProject())
-
感谢您的提示,虽然它并没有像您猜到的那样解决问题。
-
对不起,代码应该可以工作。正如我所说,我正在学习 Gradle。由于缓存,没有操作/记录到控制台。