繁体   English   中英

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

[英]Sonarqube StyleCop analysis for c# multi-module project using Maven aggregator from Jenkins

我有一个C#multimodule项目,我想运行SonarQube分析。 该项目是使用Maven通过聚合器pom文件构建的。 声纳分析工作正常,找到模块并完成声纳分析。 但是,我没有看到任何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时会出现问题。 我在SonarQube中使用以下插件

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

声纳属性是

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/

我也试过单独定义模块,因为它在这里完成没有运气。 我一直试图实现这一天两天,我不知道还有什么可以尝试。

任何帮助将非常感激!

我会禁用VS引导程序并使用Core 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\

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM