在jenkins maven多模块作业中重复检查样式警告

时间:2012-11-17 13:11:49

标签: maven jenkins checkstyle

我有一个带有聚合器pom和一堆子模块的jenkins maven作业。当jenkins显示checkstyle警告时,它就像这样:

  • 子模块1:10警告
  • 子模块2:10警告
  • 聚合器模块:20个警告

  • 总计:40个警告

换句话说,聚合器(正确地?)聚合在子模块中找到的警告,如果不是因为 total 然后变成它的两倍,这不会是一个大问题应该是。

有人知道问题是什么吗?谢谢!

2 个答案:

答案 0 :(得分:2)

这取决于您使用的是Freestyle项目类型还是Evil Maven Project type

如果您使用的是自由式,则只需设置checkstyle.xml结果的模式即可排除聚合器或排除子项目。

如果你正在使用邪恶的兄弟,你可能需要调整'per-module'配置来禁用子模块的报告。

这里的问题是聚合器模块正在复制子项目中的警告,以便生成聚合报告。

当作业在Jenkins上运行时,您也可以禁用聚合。

这基本上是邪恶项目类型的自动嗅探“魔法”与maven-checkstyle-plugin实现聚合报告的方式之间的斗争。

答案 1 :(得分:0)

您可以调整here

中的一些技巧

将以下内容添加到聚合器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工作中为你的Maven目标添加-P+on-jenkins