使用Gradle将代码样式导入Eclipse

Mat*_*aun 12 eclipse gradle gradle-eclipse

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

我已经在Eclipse中使用EPF文件封装了这些规则File > Export > Preferences.

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

非常感谢任何提示.

And*_*mid 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())
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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