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

Posted

技术标签:

【中文标题】在 Gradle 任务中对属性文件的内容进行排序【英文标题】:Sort contents of a property file in a Gradle task 【发布时间】:2015-07-05 20:51:04 【问题描述】:

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

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

文件不大,把文件读成行,排序再写到同一个文件就够了?

【问题讨论】:

【参考方案1】:

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

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') 

【讨论】:

谢谢,成功了。请注意,在多项目构建集中使用它时,我必须像 new File(project.projectDir, '.settings/org.eclipse.jdt.core.prefs').... 一样使用 projectDir。

以上是关于在 Gradle 任务中对属性文件的内容进行排序的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件自定义 Gradle 任务 ⑬ ( DefaultTask 中的任务输入和输出属性 | TaskInputs 任务输入接口 | FileCollection )

Gradle 任务检查是不是定义了属性

如何使用 Gradle 自动转义 Java 属性文件中的 unicode 字符?

在 Gradle 中对依赖项使用语义版本控制

Android Gradle 插件Gradle 扩展属性 ① ( Gradle 扩展属性简介 | Gradle 自定义 task 任务示例 )

Android Gradle 插件Gradle 扩展属性 ① ( Gradle 扩展属性简介 | Gradle 自定义 task 任务示例 )