在 Gradle 任务中对 属性 文件的内容进行排序

Sort contents of a property file in a Gradle task

作为构建多个项目的一部分,我想对一些 属性 文件中的内容进行排序,这些文件是半生成的,但也签入了源代码管理。 Gradle 中的 generation/update 步骤使它们以不同的顺序排列(在第 3 方插件代码中完成,更改顺序可能是由于使用 Java Properties class内部)。

在 Gradle 中对文件内容进行排序的最简单方法是什么?

文件不大,按行读入文件,整理再写出到同一个文件就够了吗?

下面的代码应该可以完成这项工作:

new File('lol').with { it.text = it.readLines().findAll { it }.sort().join('\n') }

gradle 任务将是:

task sortLines << {
   new File('lol').with { it.text = it.readLines().findAll { it }.sort().join('\n') }
}