使用Gradle将代码样式导入Eclipse

时间:2014-03-01 13:10:42

标签: eclipse gradle gradle-eclipse

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

我已使用Eclipse中的File > Export > Preferences将这些规则封装在EPF file中。

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

非常感谢任何提示。

1 个答案:

答案 0 :(得分: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文件来使用任何Groovy内置XML解析器创建org.eclipse.jdt.ui.prefs文件; - )

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