首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala/scoverage:是否有必要为发布释放一个jar进行干净的重建?

Scala/scoverage:是否有必要为发布释放一个jar进行干净的重建?
EN

Stack Overflow用户
提问于 2019-07-27 11:03:36
回答 2查看 401关注 0票数 2

我使用scoverage来报告scala代码库的覆盖率信息。我对Java堆栈有点陌生,但我在一些环境中工作过,在这些环境中,覆盖构建与发行版构建不同(通过在编译的工件中引入更多信息),随后的清理和重建步骤是必要的。

现在,我还不确定scoverage项目的情况如何。

所以:在mvn scoverage:report之后,我应该在CI服务器上的mvn clean命令之前运行mvn clean吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-31 12:20:33

当您使用maven运行命令(build、package、scoverage:report等)时,所有所需的中间信息都存储在target文件夹中(默认情况下,您可以根据需要更改此行为),并且不应该影响任何其他阶段,除非它们是这样设计的。

因此,在您描述过的情况下,不需要运行mvn clean。结果jar文件无论是否干净,都将是相同的。

如果您想要一个带有jar工具化类的SCoverage文件,可以使用正在运行的mvn scoverage:package (检查这里)来完成它。即使您将以一种方式一个接一个地运行命令:

代码语言:javascript
复制
mvn clean
mvn scoverage:report
mvn scoverage:package
mvn package

最后,您将在目标文件夹中获得两个jar文件:

代码语言:javascript
复制
app.jar
scoverage-app.jar

其中app.jar将没有任何覆盖信息。

票数 3
EN

Stack Overflow用户

发布于 2019-07-31 15:53:36

如scoverage maven-plugin 这里中所述

我们不想意外地部署这些仪器化的类,所以SCoverage将它们分开。SCoverage通过分叉当前Maven构建并再次运行它来实现这一点,同时执行检测。

因此,使用此分叉机制将保持工具化类的分离。此外,在该文档中,您拥有用scoverage测试替换常规单元测试执行所需的配置,因此您将不必运行两次单元测试(并且仍然需要使用工具化的类进行分叉的覆盖执行)。

这意味着您不需要再次运行干净,您可以在目标文件夹中签入,即scoverage类单独存储在scoverage classes目录中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57231463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档