在 maven 构建期间使用 ktlint 进行格式化
Use ktlint to format during maven build
我对 ktlint 使用了以下设置,它允许在本地 Maven 构建期间自动格式化所有文件,但如果格式不正确,则不会触发管道故障:
<plugin>
<groupId>com.github.gantsign.maven</groupId>
<artifactId>ktlint-maven-plugin</artifactId>
<version>1.6.1</version>
<executions>
<execution>
<id>format-and-check</id>
<goals>
<goal>format</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
为了让 ktlint 在格式不正确时触发管道故障,我将设置更改为
<execution>
<id>verify-code-style</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
哪个会立即触发失败。
但是 - 现在我无法进行本地 Maven 构建并使用自动格式化。相反,它会立即触发故障,需要手动操作,例如 Needless blank line(s)
in class X on line Y.
我希望两全其美 - 在管道中触发故障并在本地使用自动格式化。有什么办法可以实现吗?
由于与 CI 相比,您希望在本地有不同的行为,我认为最简单的解决方案是 运行 在本地 运行 构建命令之前的格式目标。
所以不用 mvn deploy(或 package 或任何你 运行),只是 运行
mvn ktlint:format deploy
我对 ktlint 使用了以下设置,它允许在本地 Maven 构建期间自动格式化所有文件,但如果格式不正确,则不会触发管道故障:
<plugin>
<groupId>com.github.gantsign.maven</groupId>
<artifactId>ktlint-maven-plugin</artifactId>
<version>1.6.1</version>
<executions>
<execution>
<id>format-and-check</id>
<goals>
<goal>format</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
为了让 ktlint 在格式不正确时触发管道故障,我将设置更改为
<execution>
<id>verify-code-style</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
哪个会立即触发失败。
但是 - 现在我无法进行本地 Maven 构建并使用自动格式化。相反,它会立即触发故障,需要手动操作,例如 Needless blank line(s)
in class X on line Y.
我希望两全其美 - 在管道中触发故障并在本地使用自动格式化。有什么办法可以实现吗?
由于与 CI 相比,您希望在本地有不同的行为,我认为最简单的解决方案是 运行 在本地 运行 构建命令之前的格式目标。
所以不用 mvn deploy(或 package 或任何你 运行),只是 运行
mvn ktlint:format deploy