我在下面编写了这个工作流,以根据谷歌Java风格指南验证我项目中的Java格式。我的意图是在工作流中使用maven。
# Checks that the code is formatted according to the
# Google Java style guide
name: Code Formatter Check
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
distribution: 'adopt'
cache: maven
- name: Build with maven
run: mvn --batch-mode --update-snapshots verify verifyGoogleJavaFormat
使用gradle,我可以使用chmod x gradlew使其可执行,并使用运行。
我的问题是,我怎样才能用maven做到这一点。通过以上工作流,我发现以下错误:
未知生命周期阶段“verifyGoogleJavaFormat”。
你需要包括一个支持谷歌Java格式的maven插件。你的目标验证Google JavaFormat似乎适用于Gradle,但不适用于Maven。一种选择是使用https://github.com/Cosium/git-code-format-maven-plugin.它支持格式验证和提交时自动格式化。
Github Repo文档声明您可以将其包含在pom中。xml如下所示:
<build>
<plugins>
<plugin>
<groupId>com.cosium.code</groupId>
<artifactId>git-code-format-maven-plugin</artifactId>
<version>3.3</version>
<executions>
<!-- On commit, format the modified java files -->
<execution>
<id>install-formatter-hook</id>
<goals>
<goal>install-hooks</goal>
</goals>
</execution>
<!-- On Maven verify phase, fail if any file
(including unmodified) is badly formatted -->
<execution>
<id>validate-code-format</id>
<goals>
<goal>validate-code-format</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
现在,当我在未格式化的项目上运行mvn verify
时,我得到一个错误:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.090 s
[INFO] Finished at: 2022-03-12T17:56:13+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.cosium.code:git-code-format-maven-plugin:3.3:validate-code-format (validate-code-format) on project javatest: /home/bisensee/repos/javatest/src/main/java/Position.java is not correctly formatted ! -> [Help 1]
当我们进行下一次提交时,格式化程序将通过Git钩子自动应用,并且下一次mvn验证
成功。
当前状态: 我有一个使用Java 1.8.161、Maven 3.3.9、SpringBoot 2.0.1、工具Jenkins和GitLab构建的项目。我想使用google java格式作为整个团队的标准。 我的调查/解决方案: 在调查过程中,我找到了解决方案,这听起来很简单。只需更新pom文件: 而且很有效。如果我运行编译、打包、验证、安装或部署Maven lifecycle,代码就会格式化。
我已经为我的WebStorm项目指定了eslint配置。但它似乎不适用于代码重新格式化功能。例如,它继续将< code > import { something } from ' something ' 格式化为< code > import { something } from ' something ' 。 有没有办法让WebStom根据eslint配置格式化代码?
如何将格式化为合流?我的意思是,不是单独的代码块,而是内联。
...这不起作用,因为我在管道执行之前调用get()。到目前为止,我还没有将为do_some_stuff函数所做的调整到“read”行 任何关于如何进行的建议或解决方案都将不胜感激。谢了!
例如,Xcode有一个XAlign(https://github.com/qfish/XAlign),允许用户选择需要对齐的代码,并使用快捷方式自动对齐。 Android Studio中有一个字段组特性,可以“列对齐”,但它对已经编写好的代码不起作用。
如何在Eclipse中自动格式化代码?