当前位置: 首页 > 知识库问答 >
问题:

Checkstyle和Jenkins:检查SVN commit中修改/添加的行

禹昆
2023-03-14

我们有大量遗留代码的大型Java项目。现在我们有了代码约定和Checkstyle规则来检查它。

我们希望配置Jenkins作业,它在每次提交SVN之后运行,以检查修改/添加的行是否违反了我们的Checkstyle规则。

由于遗留代码,检查整个项目不是一个选项。我们也不能只是重新格式化所有的代码,因为这样就很难确定是谁更改了某一行以及为什么。

我们考虑的方法是--在以前的和当前的Checkstyle报告之间进行区分,看看是否有新的违规。

共有1个答案

慕铭
2023-03-14

这有点绕圈子,但如果您设置了一个Sonar实例来分析您的项目,您可以通过它的远程访问API以编程方式查询违规数据。您知道遗留代码中的违规数(想必这个数不会经常改变)。这是你的底线--你不想让计数比这更高。

因此,在配置项作业中,您可以在最后添加一个脚本,调用Sonar来获取您所关心的每个严重级别(阻塞、严重等)的违规计数,如果当前计数超过阈值/基准,则生成失败。

Sonar总体上是非常棒的,特别是对于有大量遗留代码的项目,因为您可以深入了解并找出最危险的领域。如果您还没有检查,他们已经有一个公共实例在运行。

 类似资料:
  • 问题内容: 我们使用许多遗留代码,并考虑为新代码引入一些指标。是否可以让Findbugs和Checkstyle仅在更改的文件而不是整个项目上运行? 确保只签入质量最低的文件是很好的,但是(尚未)不检查和评估代码库本身,以免使成千上万的问题引起人们的困惑。 问题答案: 从理论上讲,这是可能的。在给定开始日期之后,您将使用Shell脚本来解析SVN(或任何SCM)更改日志,从这些更改集中识别.java

  • 我已经解决了如何合并两个XML文件并修改匹配的属性。 我现在正在努力解决如果file1中不存在file2节点,如何添加file2节点(基于属性名) 这是我拥有的xsl文件: 我找到了如何使用XSLT合并两个xml文件,但无法解决如何将提议解决方案应用于我的xsl。有人能帮忙吗?

  • 全部显示 所有宿主应用程序都有一个扩展接口,以便添加和设计自定义工具栏(添加内置按钮、添加作为按钮的宏,甚至给工具栏添加弹出式控件)。用 Visual Basic 代码所作的设计期修改通常用于添加或修改组合框控件。而用代码对工具栏所作的修改几乎完全属于运行时间修改(改变按钮的状态、外观、功能等等)。 对工具栏作运行时间修改 在运行时间可对工具栏作多种不同的修改。其中之一是改变命令栏按钮在工具栏上的

  • 使用“管理字体”对话框在 Dreamweaver 中添加和修改字体组合。 字体组合确定浏览器显示网页中的文本的方式。浏览器使用用户系统上安装的字体组合中的第一种字体;如果未安装字体组合中的任何一种字体,则浏览器按用户的浏览器首选参数指定的方式显示文本。 向字体列表添加 Adobe Edge Web Fonts 可在网页中使用 Adobe Edge Web Fonts。在页面中使用 Edge 字体时

  • 关于图像 虽然存在很多种图形文件格式,但网页中通常使用的只有三种,即 GIF、JPEG 和 PNG。GIF 和 JPEG 文件格式的支持情况最好,大多数浏览器都可以查看它们。 GIF(图形交换格式) GIF 文件最多使用 256 种颜色,最适合显示色调不连续或具有大面积单一颜色的图像,例如导航条、按钮、图标、徽标或其它具有统一色彩和色调的图像。 JPEG(联合图像专家组) JPEG 文件格式是用于

  • 我正在使用WebStorm制作React应用程序。 首先,当我使用 JSX 标签属性时,它会自动创建大括号。如何禁用此选项? 第二,当我们的源代码被修改时,许多IDE向我们显示这个文件被修改了。在VSCode中,它是这样做的: 但WebStorm不是。所以我不知道这个文件是否已经更改。我如何设置?