如何使用Gradle/Groovy功能替换文件中的文本

如何使用Gradle/Groovy功能替换文件中的文本,groovy,gradle,gradle-eclipse,Groovy,Gradle,Gradle Eclipse,我正在尝试解决中描述的问题,其中生成的文件总是被更新,因为时间戳被写入目录.settings中的Eclipse文件,该目录生成Eclipse项目文件 这些文件包含这样一个头,我想删除它 # #Fri Mar 27 10:26:55 CET 2015 目前,我正在使用Exec任务使用外部应用程序sed剪切以“#”开头的行: 然而,这增加了对操作系统二进制文件的依赖,我希望避免这种依赖 在Gradle任务中,如何在不调用外部工具的情况下简单地删除以“#”开头的行?有很多方法,使用ant的方法可能最

我正在尝试解决中描述的问题,其中生成的文件总是被更新,因为时间戳被写入目录
.settings
中的Eclipse文件,该目录生成Eclipse项目文件

这些文件包含这样一个头,我想删除它

#
#Fri Mar 27 10:26:55 CET 2015
目前,我正在使用Exec任务使用外部应用程序
sed
剪切以“#”开头的行:

然而,这增加了对操作系统二进制文件的依赖,我希望避免这种依赖


在Gradle任务中,如何在不调用外部工具的情况下简单地删除以“#”开头的行?

有很多方法,使用
ant
的方法可能最可靠:

task removeLines << {
   ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) {
      fileset(dir: project.projectDir, includes: 'lol')
   }
}                                                                                                                                                                             

任务移除谢谢,这正是我想要的!顺便说一句,我不得不用projectDir替换rootDir,以使其在多项目设置中也能工作
task removeLines << {
   ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) {
      fileset(dir: project.projectDir, includes: 'lol')
   }
}