【发布时间】:2020-07-16 21:42:38
【问题描述】:
我们按照自述文件将https://github.com/sherter/google-java-format-gradle-plugin 连接到我们的项目中。
我们还连接了一个 pre-commit 钩子以在提交之前运行插件,这确保了更改列表中的所有代码在推送之前都已格式化,从而避免了在 Jenkins 中运行 verGJF 任务时出错。
但是我们必须记住在运行./gradlew build之前在本地运行goJF,否则构建失败并出现格式错误。
我们通过为 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 任务-java-format Gradle 插件)。
我们不知道该怎么做。别人知道吗?
【问题讨论】:
-
您可以考虑在 build.gradle 中添加任务依赖项的另一种替代方法是将 Gradle 任务配置为在 IDE 构建之前/之后运行,请参阅Configure running triggers for Gradle tasks。
-
我最终使用了 Chriki 的答案,但是能够将 Gradle 任务连接到 IntelliJ 在其他情况下会很有用——谢谢!
标签: gradle intellij-idea google-java-format