12

为了代码风格的一致性,我想应用一组格式化规则并将操作自动保存到我的 Eclipse 项目中。

我已经使用Eclipse将这些规则封装在一个EPF 文件中。File > Export > Preferences

有没有办法使用 Gradle 将此 EPF 文件导入 Eclipse 以使规则生效?Gradle 的Eclipse 插件具有该linkedResource属性,但我不确定这是否是可行的方法。

非常感谢任何提示。

4

1 回答 1

5

据我所知,Gradle 中没有自动导入这些设置的功能。但是,我可以考虑通过提供一个defaultJdtPrefs.properties包含org.eclipse.jdt.core.prefs. org.eclipse.jdt.ui.prefs要在执行时创建,gradle eclipse您可以使用以下内容:

tasks.cleanEclipse.doLast {
    delete("${project.projectDir}/.settings/org.eclipse.jdt.ui.prefs")
}

tasks.eclipse.doLast {
    File saveActionPrefs = file("${project.projectDir}/.settings/org.eclipse.jdt.ui.prefs")
    if (saveActionPrefs.exists()) {
        logger.warn("UI preferences already exist and will not be overridden. Use task 'cleanEclipse' first.")
    } else {
        saveActionPrefs.append('''
             eclipse.preferences.version=1
             <<HERE COMES YOUR CONTENT>>
             '''. stripIndent())
    }
}

使用此解决方案,您甚至可以在上面提供的 EPF 文件中包含您的偏好,以org.eclipse.jdt.ui.prefs使用任何 Groovy 内置 XML 解析器创建文件;-)

我知道这不是最好的解决方案,因为您必须将这些东西添加到每个项目(或通过自定义 Gradle 插件),但这是我目前能想到的唯一解决方案。

于 2014-12-13T17:53:52.957 回答