【问题标题】:eachFile in Gradle Copy-task is not workingGradle Copy-task 中的 eachFile 不起作用
【发布时间】: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。由于缓存,没有操作/记录到控制台。

标签: gradle groovy


【解决方案1】:

代码没有问题。因为缓存,所以采取了行动,因此没有记录。

【讨论】:

    猜你喜欢
    • 2012-09-01
    • 1970-01-01
    • 2017-12-04
    • 2016-10-25
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多