除了.json文件之外,我还有很多.java文件的春季引导项目。
对于java格式,我们在google-java-format中使用预提交挂钩。然而,对于格式化.json文件,我有点挣扎。
我使用了一个maven的无污点插件
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.version}</version>
<configuration>
<formats>
<format>
<includes>
<include>*.json</include>
</includes>
<prettier>
<!-- Specify at most one of the following 3 configs: either 'prettierVersion' (2.0.5 is default) , 'devDependencies' or 'devDependencyProperties' -->
<prettierVersion>2.0.5</prettierVersion>
<!-- Specify config file and/or inline config, the inline always trumps file -->
<config>
<useTabs>true</useTabs>
</config>
</prettier>
</format>
</formats>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>这种方法的问题是,它需要安装机器上的npm,否则mvn clean install将失败。jenkins服务器上的许多机器没有预先安装npm,因此在构建过程中失败。
有什么简单的方法可以解决这个问题吗?PS:这个项目在这里使用GIT作为版本控制。
发布于 2022-07-11 00:19:51
引言
让我们考虑其局限性: Spotless格式化步骤必须基于Java,即避免使用外部程序(npm等)。
让我们把Spotless Maven插件2.23.0作为当前版本。
让我们调用基于Java的JSON文档格式化和验证特性。
分析
根据特征矩阵表,以下格式化步骤可用于Spotless Gradle插件,但对于Spotless Maven插件不可用:
这些特性步骤是基于Java的。
摘要
目前,没有这样的Spotless格式化步骤可用于Spotless Maven插件--这个特性是不存在的。
可能的解决办法
实现特征
请求特征
通过在GitHub存储库中创建一个问题来请求该特性。
看上去好像有人试图请求它。请参阅评论:
查找并使用其他格式化程序Maven插件
查找并使用具有此功能的附加格式化程序Maven插件。
例如,以下格式化程序Maven插件似乎支持JSON文档格式设置和验证:
<dependency>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>2.19.0</version>
</dependency>一些相关的参考资料:
https://stackoverflow.com/questions/72893968
复制相似问题