我们根据自述文件将https://github.com/sherter/google-java-format-gradle-plugin连接到我们的项目中。
我们还连接了一个 pre-commit 钩子以在提交之前运行插件,这确保了更改列表中的所有代码在推送之前都已格式化,从而避免了 Jenkins 在运行verGJF
任务时出错。
但是我们必须记住在运行goJF
之前在本地运行./gradlew build
,否则构建失败并出现格式错误。
我们通过为 IntelliJ 添加https://plugins.jetbrains.com/plugin/8527-google-java-format和https://plugins.jetbrains.com/plugin/7642-save-actions插件来解决这个问题,启用google-java-format 插件,并将 save-actions 插件配置为在保存时格式化。
但这是开发人员必须记住的大量额外配置,而且这意味着他们在处理代码时无法按照自己想要的方式格式化代码,只能在构建或提交时重新格式化。
我们更喜欢全 Gradle 解决方案,以便goJF
任务在任务之前运行build
(并且在verGJF
任务之前运行,该任务已经build
通过 google-java-format Gradle 插件绑定到任务)。
我们无法弄清楚如何做到这一点。别人知道吗?