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

标签 groovy gradle gradle-eclipse

我正在尝试解决 GRADLE-2293 中描述的问题生成的文件总是更新,因为时间戳被写入目录 .settings 中的 Eclipse 文件。由 Gradle plugin它生成 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 任务中以“#”开头的行?

最佳答案

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

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

关于groovy - 如何使用 Gradle/Groovy 功能​​替换文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29841835/

相关文章:

grails - 使 IntelliJ 突出显示 Groovy/Grails 语法错误

java - Gradle 提示它无法将 long 转换为 int,即使该方法需要 long 作为参数

Android studio 不生成签名 APK

android - 使用android studio 2.1.2并收到错误 "execution failed for task app clean"

gradle - 解决 Micronaut 和 Gradle 5 "Detecting annotation processors on the compile classpath is deprecated"警告的警告

spring-boot - 尝试使用Gradle运行克隆的项目但无法构建

eclipse - Gradle + Buildship - 在 JAR 和项目之间切换依赖关系

eclipse - Coudnot 安装 Gradle 发行版 - eclipse- Liferay

groovy - 重置 gradle 任务的 UP-TO-DATE 属性?

grails - Grails-全局通用的制作方法和元类编程