3

我有一个 jenkins maven 工作,有一个聚合器 pom 和一堆子模块。当 jenkins 显示 checkstyle 警告时,它会这样做:

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

  • 总计:40 个警告

换句话说,聚合器(正确地?)聚合子模块中发现的警告,如果不是这样,这不会是一个大问题,因为总数会变成应有的两倍。

有谁知道问题是什么?谢谢!

4

2 回答 2

2

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

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

如果您使用的是 evil 兄弟,您可能需要调整“每个模块”配置以禁用子模块的报告。

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

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

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

于 2012-11-17T20:52:17.517 回答
0

你可以从这里调整一些技巧

将以下内容添加到聚合器 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 目标。

于 2012-11-18T11:16:38.983 回答