如何根据打包目录更改文件名

How to change a file name based on the directory it is in for packaging

我有以下 gradle 任务:

task copyToDeployDir(dependsOn: preDeploy) << {
  copy {
    from codeDir
    into deployDir
  }
}

这非常适合从我的代码目录(通常是 mainsrc)复制到部署目录。但是,我想重命名其中一些文件。具体来说,由于我使用的是 CodeIgniter,我想重命名几个控制器以从 "install" 控制器开始。

理想情况下,我想要的是将所有文件复制到 deployDir 中,codeDir/application/controllers 中的任何文件除外,我想重命名为后缀 .dist

我不太确定该怎么做。我之前在 gradle 文档中尝试过使用文件中的重命名内容,但它似乎不适用于 gradle 2.2.

尝试:

task copyToDeployDir(dependsOn: preDeploy, type: Copy) << {
  from(codeDir) {
     exclude '**/application/controllers/*'
  }

  from(codeDir) {
     include '**/application/controllers/*'
     rename {
        "${it}.suffix"
     }
  }
  into deployDir
}