gpt4 book ai didi

c# - 使用 Jenkins 的 Maven 聚合器对 c# 多模块项目进行 Sonarqube StyleCop 分析

转载 作者:行者123 更新时间:2023-11-30 12:59:06 26 4
gpt4 key购买 nike

我有一个 C# 多模块项目,我想对其运行 SonarQube 分析。该项目是通过聚合器 pom 文件使用 Maven 构建的。 Sonar 分析工作正常,找到模块并完成 Sonar 分析。但是,我没有看到任何违反 StyleCop 的行为。例如

[INFO] [14:41:01.053] Sensor org.sonar.plugins.stylecop.StyleCopSensor@1d5df31...
[INFO] [14:41:01.148] Microsoft (R) Build Engine version 4.0.30319.18408
[INFO] [14:41:01.149] [Microsoft .NET Framework, version 4.0.30319.18444]
[INFO] [14:41:01.149] Copyright (C) Microsoft Corporation. All rights reserved.
[INFO] [14:41:01.149]
[INFO] [14:41:01.189] Build started 21/11/2014 14:41:01.
[INFO] [14:41:01.410] Project "C:\Jenkins\workspace\xxx\xxx\trunk\src\target\sonar\StyleCop-msbuild.proj" on node 1 (default targets).
[INFO] [14:41:01.411] StyleCopLaunch:
[INFO] [14:41:01.411] No violations encountered
[INFO] [14:41:01.416] Done Building Project "C:\Jenkins\workspace\xxx\xxx\trunk\src\target\sonar\StyleCop-msbuild.proj" (default targets).
[INFO] [14:41:01.421]
[INFO] [14:41:01.421] Build succeeded.
[INFO] [14:41:01.421] 0 Warning(s)
[INFO] [14:41:01.421] 0 Error(s)
[INFO] [14:41:01.422]
[INFO] [14:41:01.422] Time Elapsed 00:00:00.24
[INFO] [14:41:01.662] Sensor org.sonar.plugins.stylecop.StyleCopSensor@1d5df31 done: 609 ms

如果我在不同的 Jenkins 作业中单独运行每个模块,我会看到所有违规行为,包括 StyleCop 违规行为,所以当我使用聚合器 pom.xml 时问题就来了。我在 SonarQube 中使用以下插件

  • C# 3.3
  • Visual Studio 项目 1.2 的分析 Bootstrap

Sonar 属性是

sonar.sourceEncoding=UTF-8
sonar.visualstudio.enable=true
sonar.exclusions=**/Reference.cs,**/*.designer.cs,**/*.Designer.cs,**/*.g.cs,**/target/**
sonar.stylecop.projectFilePath=trunk/src/

我必须指定 projectFilePath,因为如果我不指定,分析就会失败。在启用 Bootstrapper 的情况下,我认为项目文件会被自动检测到。还有另一种方法可以为每个模块指定 projectFilePath 吗?它们都在相同的文件夹结构 trunk/src/ 下。

我也试过在完成时分别定义模块 here没有运气。这两天我一直在努力实现这一目标,但我不知道还能尝试什么。

非常感谢任何帮助!

最佳答案

我会禁用 VS Bootstrap 并使用核心 C# 设置

# Core CSharp settings
sonar.dotnet.visualstudio.solution.file=mySolution.sln
sonar.dotnet.test.assemblies=*Test*.dll
sonar.skippedModules=TestProject1,TestProject2

# VS Bootstrapper settings
sonar.visualstudio.enable=false

# Scan Directories
sonar.projectBaseDir=SourceDirectory
sonar.dotnet.assemblies=OutputDirectory\.
sonar.dotnet.test.assemblies=OutputDirectory\

这将默认使用 Sonar 规则来分析您的代码 (.cs) 文件。您可以选择性地选择 StyleCop/FxCop/Resharper,并将它们也添加到设置文件中。

关于c# - 使用 Jenkins 的 Maven 聚合器对 c# 多模块项目进行 Sonarqube StyleCop 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27066608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com