6

我正在尝试解决GRADLE-2293中描述的问题,因为生成 Eclipse 项目文件.settingsGradle 插件将时间戳写入位于目录中的 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 任务中简单地删除以“#”开头的行而不调用外部工具?

4

1 回答 1

6

确实有很多方法可以做到这一点,其中一种ant可能是最可靠的:

task removeLines << {
   ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) {
      fileset(dir: project.projectDir, includes: 'lol')
   }
}                                                                                                                                                                             
于 2015-04-24T09:48:09.330 回答