我有一个 jenkins maven 工作,有一个聚合器 pom 和一堆子模块。当 jenkins 显示 checkstyle 警告时,它会这样做:
- 子模块 1:10 个警告
- 子模块 2:10 个警告
聚合器模块:20 个警告
总计:40 个警告
换句话说,聚合器(正确地?)聚合子模块中发现的警告,如果不是这样,这不会是一个大问题,因为总数会变成应有的两倍。
有谁知道问题是什么?谢谢!
我有一个 jenkins maven 工作,有一个聚合器 pom 和一堆子模块。当 jenkins 显示 checkstyle 警告时,它会这样做:
聚合器模块:20 个警告
总计:40 个警告
换句话说,聚合器(正确地?)聚合子模块中发现的警告,如果不是这样,这不会是一个大问题,因为总数会变成应有的两倍。
有谁知道问题是什么?谢谢!
这取决于您使用的是 Freestyle 项目类型还是Evil Maven 项目类型。
如果您使用的是自由式,您只需为checkstyle.xml
结果设置模式以排除聚合器或排除子项目。
如果您使用的是 evil 兄弟,您可能需要调整“每个模块”配置以禁用子模块的报告。
这里的问题是聚合器模块正在从子项目复制警告以生成聚合报告。
当作业在 Jenkins 上运行时,您还可以禁用聚合。
这基本上是邪恶项目类型的自动嗅探“魔法”与 maven-checkstyle-plugin 实现聚合报告的方式之间的斗争。
你可以从这里调整一些技巧
将以下内容添加到聚合器 pom:
<project>
...
<profiles>
...
<profile>
<id>on-jenkins</id>
<build>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>
...
</project>
并在 Jenkins 工作中添加-P+on-jenkins
到您的 Maven 目标。