我正在尝试在使用 Kotlin 和detekt-maven-plugin的多模块 Maven 项目中使用 detekt 。
按照此处找到的说明生成包含现有问题的基线,我尝试运行:
mvn detekt:cb -Ddetekt.debug=true
然而,这似乎不会产生提到的baseline.xml
文件。
我正在尝试在使用 Kotlin 和detekt-maven-plugin的多模块 Maven 项目中使用 detekt 。
按照此处找到的说明生成包含现有问题的基线,我尝试运行:
mvn detekt:cb -Ddetekt.debug=true
然而,这似乎不会产生提到的baseline.xml
文件。
事实证明,基线文件名必须在生成基线时指定:
mvn detekt:cb -Ddetekt.baseline=baseline.xml
由于代码库已经有很多 detekt 发现的问题,我还必须使用自定义 detekt 配置文件并增加允许的问题数量 - 否则构建将失败并且根本不会生成基线。
总而言之,以下配置使其工作:
检测配置文件:
build:
maxIssues: 1000
生成基线后的插件配置:
<plugin>
<groupId>com.github.ozsie</groupId>
<artifactId>detekt-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<baseline>detekt-baseline.xml</baseline>
<config>detekt-config.yml</config>
<buildUponDefaultConfig>true</buildUponDefaultConfig>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
生成基线后,maxIssuses
可以将配置文件中的值降低到适当的值。