我正在尝试解决GRADLE-2293中描述的问题,其中生成的文件总是更新,因为时间戳被生成的Gradle plugin写入目录.settings
中的Eclipse文件Eclipse项目文件。
这些文件包含我想删除的标题
#
#Fri Mar 27 10:26:55 CET 2015
目前我正在使用Exec任务来使用外部应用程序sed
来剪切以“#”开头的行:
task adjustEclipseSettingsFile(type: Exec) {
executable 'sed'
args '-i','-e','s/^#.*//g','.settings/org.eclipse.jdt.core.prefs'
}
eclipseJdt.finalizedBy adjustEclipseSettingsFile
然而,这增加了对我想避免的操作系统二进制文件的依赖性。
如何在不调用外部工具的情况下,在Gradle任务中简单删除以'#'开头的行?
答案 0 :(得分:6)
实际上有很多方法,ant
的方法可能最可靠:
task removeLines << {
ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) {
fileset(dir: project.projectDir, includes: 'lol')
}
}