【问题标题】:How to combine "sonar.cpd.exclusions" with the parameters in SONARQUBE Server?如何将“sonar.cpd.exclusions”与 SONARQUBE Server 中的参数结合起来?
【发布时间】:2017-09-24 12:02:15
【问题描述】:

根据我们项目的结构,如果我想从 PY.Models\Module1、PY.Entities\Module1、PY.Entities\Module2、PY.Entities\Module3 和“PY.Repository”中排除 .cs 文件.ModuleN“不会被排除在外吗?如何将“sonar.cpd.exclusions”与SONARQUBE Server中的参数结合起来?

D:\MYCOMPANY \ MYPROJECT\00_Transversal\PY.Models\PY.Models\Modulo1--
D:\MYCOMPANY\MYPROJECT\00_Transversal\PY.Models\PY.Models\Modulo2
D:\MYCOMPANY\MYPROJECT\00_Transversal\PY.Models\PY.Models\Modulo3

D:\MYCOMPANY \ MYPROJECT \01_Data\PY.Entities\PY.Entities\Module1--
D:\MYCOMPANY \ MYPROJECT \01_Data\PY.Entities\PY.Entities\Module2--
D:\MYCOMPANY \ MYPROJECT \01_Data\PY.Entities\PY.Entities\Module3--

D:\MYCOMPANY\MYPROJECT\01_Data\PY.Repository.Module1
D:\MYCOMPANY\MYPROJECT\01_Data\PY.Repository.Module2
D:\MYCOMPANY\MYPROJECT\01_Data\PY.Repository.Module3

Configuration On the SONARQUBE-Duplications Tab-page Server

【问题讨论】:

  • 您想将它们完全排除在分析之外还是仅从重复检测中排除?
  • 您好,我只想排除位于模板项目中的重复代码文件。另一方面,我想从分析中排除 Entities 项目,这是一个非常古老的代码,我们正在逐步迁移它。

标签: c# sonarqube


【解决方案1】:

要从分析中完全排除文件或目录,请转至管理 > 常规设置 > 分析范围 > 文件,然后使用模式* 设置 sonar.exclusions 来描述应该省略的内容。

要从重复检测中排除文件或目录,您想设置sonar.cpd.exclusions,正如您推测的那样。同样,为这个值使用一个模式*。

关于是在分析参数中设置还是在服务器中设置,我个人将其设置在服务器端。更干净,IMO。

识别通配符:* 0-n char; ** 0-n 个目录; ? 任意单个字符

【讨论】:

  • 我已经在重复选项卡的配置部分的服务器端配置了它,正如我最初在问题中提到的那样,在运行分析后,我没有为我的模型项目报告任何代码重复。 Sonar.cpd.exclusions = D: /SYACSoftware/DG/00_Transversal/DG.Models / ** / * .cs
  • 但是,我还有另一个待处理的项目“实体项目”,它有非常旧的代码,我们将在新版本中一点一点迁移,我想将它排除在分析之外,但不影响其他项目。需要把这个项目的每个文件都配置成java语法,这样才能排除整个项目?,是几千个文件。
  • @JoseFrancisco 您正在设置描述要忽略的路径的正则表达式。根据项目结构,您应该只需几遍即可完成。
  • 您可能想澄清一下,这些“模式”docs.sonarqube.org/latest/project-administration/… 实际上不是“(Java 语法)正则表达式”,而是“Globs”en.wikipedia.org/wiki/Glob_(programming)
  • 谢谢@ThomasHirsch。已更正。
【解决方案2】:

属性是通过每个 .csproj 文件中的 ItemGroup 设置的,这样:

<ItemGroup>
  <SonarQubeSetting Include="sonar.cpd.exclusions">
    <Value>Models/**/*.cs</Value>
  </SonarQubeSetting>
</ItemGroup>

【讨论】:

    猜你喜欢
    • 2011-03-15
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 2012-03-17
    • 2017-12-15
    相关资源
    最近更新 更多