我们有一个Scala项目,并使用Maven和Jenkins来构建它 . 现在我们还想使用Scalastyle进行静态代码分析 . 如果我使用Jenkins自由式作业,它在IDE中工作正常 . 创建输出文件,Jenkins显示带有样式警告和错误的漂亮图形 .
但是,如果我使用Jenkins Maven作业,“Checkstyle趋势”仍然为空,尽管xml文件在那里并且具有正确的名称(checkstyle-result.xml) .
我找到了this . 讨论有点令人困惑,但我知道发布Scalastyle结果也适用于Maven工作 .
我弄错了吗?或者实际上是否有办法让Jenkins为我的Maven工作发布Scalastyle结果?还是某种解决方法? (除了使用自由式工作或SBT ......)
1 回答
在尝试了一些事情后,我找到了解决方案 . 我需要的只是我的多模块项目的根pom中的Scalastyle条目,如下所示:
这里的重要部分是$ . 我没有尝试过它,但它没有用 .
在Jenkins的项目配置中,我在“构建” - >“目标和选项”部分中给出了scalastyle:check目标,例如:
在Build settings下,勾选了Publish Checkstyle分析结果复选框 .
现在Jenkins发布了Scalastyle结果 . 然而,一个问题仍然存在:Jenkins似乎没有拿起我的Scalastyle配置文件(scalastyle_config.xml),而是使用了scalastyle-maven-plugin的默认规则 . 至少这是我怀疑的,因为对于同一个项目,我在IntelliJ(使用我的自定义配置文件)中获得的Scalastyle警告比在Jenkins中更多...
更新:我错了 . 詹金斯确实拿起我的自定义规则 . 然而,它显示出比IntelliJ更多的Scalastyle警告 . 我稍后再研究一下 .