标签: sonar-runner

我可以动态计算技术债务吗?

我在"程序"文件夹中有大量单独的,不相关的Java程序,我真的希望能够为每个程序自动计算技术债务分数.我知道SonarQube可以让你用Sonar-Runner做这个(有点) ,但是我真的想要一种动态的方法,所以我可以让脚本分析并编写所有程序中的技术债务分数.程序"文件夹到csv.

如果它可以为我做这件事,我非常愿意并且乐于尝试任何其他类型的技术债务软件(或质量).我真的很感激任何输入,或者想一想这是否可能?

eclipse technical-debt design-debt sonar-runner sonarqube

10
推荐指数
1
解决办法
945
查看次数

如何分析Sonar中的sh文件?

我需要使用Sonar服务器分析shell脚本.

我拥有的文件是扩展名sh,需要进行分析.但我没有看到任何来自Sonar插件的插件.

shell sonar-runner sonarqube

10
推荐指数
1
解决办法
5265
查看次数

如何将dotcover HTML报告与sonarqube 4.5集成?

我一直在努力解决这个问题.我已经能够HTML在帮助下生成报告DotCover.此外,我已经在Sonar Portal中给出了报告的路径,Project Settings--> C# --> CodeCoverage --> DotCoverReportPath也在Sonar.Properties特定解决方案的文件中(Mine是一个DotNet应用程序).

当我运行时,Sonar-Runner它似乎解析HTML文件并且还说执行成功,但是我的仪表板上Sonar System显示"无数据"的覆盖范围.

如果你们中的任何人遇到类似问题并且能够找出错误,请帮助我.

c# dotcover sonar-runner sonarqube

9
推荐指数
1
解决办法
886
查看次数

SonarQube单元测试没有二进制文件

经过无休止的谷歌搜索和阅读大量的文件,我完全被finihed.

我想将已创建的单元测试报告(如.xml和.exec文件(JUnit和Jacoco))导入SonarQube.问题是

Sensor JaCoCoOverallSensor...
15:54:48 15:54:48.909 INFO  - No JaCoCo analysis of project coverage can be done since there is no class files.
15:54:48 15:54:48.909 INFO  - Sensor JaCoCoOverallSensor done: 374 ms
15:54:48 15:54:48.909 INFO  - Sensor JaCoCoSensor...
15:54:48 15:54:48.910 INFO  - No JaCoCo analysis of project coverage can be done since there is no class files.
15:54:48 15:54:48.910 INFO  - Sensor JaCoCoSensor done: 1 ms 
Run Code Online (Sandbox Code Playgroud)

由于我们有一个相当大的代码,我们没有src的所有二进制文件.因此,问题是:"如何在没有二进制文件的情况下仅将完成的报告导入SonarQube?"

SonarRunner Properties

sonar.dynamicAnalysis=reuseReports
sonar.core.coveragePlugin=Jacoco
sonar.junit.reportsPath=[...]/workspace/junit/xml-results
sonar.jacoco.reportPath=[...]/workspace/junit/junit-test.exec
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢!提前致谢!

unit-testing jacoco sonar-runner sonarqube

9
推荐指数
1
解决办法
2683
查看次数

如何在不使用maven的情况下将Jacoco报告与SonarQube集成?

我使用Jacoco eclipse插件来测量单元测试覆盖率,并且我能够使用它导出报告.我想将该报告与声纳集成,因此我在项目属性文件中给出了它的路径.我的属性文件看起来像这样

# Required metadata
sonar.projectKey=key
sonar.projectName=name
sonar.projectVersion=1.0
sonar.jacoco.reportPath=jacoco.exec
sonar.tests=junit
sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportMissing.force.zero=true
# Comma-separated paths to directories with sources (required)
sonar.sources=src

# Comma-separated paths to directories with tests (optional)
sonar.tests=test

# Encoding of the source files
sonar.sourceEncoding=UTF-8

# Language
sonar.language=java
Run Code Online (Sandbox Code Playgroud)

当我执行声纳运行器时,控制台输出中有以下行

16:23:13.219 INFO  - Sensor JaCoCoItSensor...
16:23:13.219 INFO  - No JaCoCo analysis of project coverage can be done since there is no class files.
16:23:13.219 INFO  - Sensor JaCoCoItSensor done: 0 ms
16:23:13.219 INFO  - Sensor JaCoCoOverallSensor...
16:23:13.219 INFO …
Run Code Online (Sandbox Code Playgroud)

jacoco sonar-runner sonarqube

9
推荐指数
1
解决办法
6565
查看次数

SonarQube:无法为包含<X行的文件的文件创建行X的度量

我们最近将SonarQube服务器升级到最新版本(5.3)以及升级所有插件.服务器仅监视由Visual Studio Team Services(Visual Studio Online)构建的C#项目的单个构建.

起初,一切都运作良好(除了我将在另一个问题中描述的长期问题).但过了一段时间,我们在尝试将数据推送到SQ时开始出现类似下面的错误:

ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:100)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalStateException: Can't create measure for line 47 for file '[PATH]/[FILENAME].cs' with 45 lines
    at org.sonar.batch.sensor.coverage.CoverageExclusions.validateMaxLine(CoverageExclusions.java:158)
    at org.sonar.batch.sensor.coverage.CoverageExclusions.validate(CoverageExclusions.java:129)
    at org.sonar.batch.deprecated.DeprecatedSensorContext.saveMeasure(DeprecatedSensorContext.java:204)
    at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.analyze(CoverageReportImportSensor.java:78)
    at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.analyse(CoverageReportImportSensor.java:59)
    at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
    at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:98)
    at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:185)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:132)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:117)
    at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:243)
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:238) …
Run Code Online (Sandbox Code Playgroud)

c# sonar-runner sonarqube sonarqube-msbuild-runner azure-devops

9
推荐指数
1
解决办法
1632
查看次数

不支持的major.minor版本声纳扫描器的例外

我正在尝试使用SonarQube分析我的源代码.我试图用sonar-scanner我的工具从命令行运行分析.我遵循了本文档文章中提供的指南:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

当我尝试通过运行测试安装时,sonar-scanner -h我收到以下错误:

?  ~ sonar-scanner -h
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/sonarsource/scanner/cli/Main : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Run Code Online (Sandbox Code Playgroud)

从错误看,它没有为JAVA/JRE找到正确的版本来运行cli工具.我的理解是该工具应该适用于任何Java 1.7+版本.我在用Oracle JDK 1.7.0_55.我也试过使用,OpenJDK 1.8但我仍然得到同样的错误.我还检查了我的JAVA_HOME变量是否设置为正确的JDK目录.

任何正确方向的帮助表示赞赏.

java sonar-runner sonarqube

9
推荐指数
1
解决办法
9715
查看次数

运行SonarQube分析扫描 - SonarSource构建包装器

我刚开始运行SonarQube扫描,我在Jenkins的日志中收到此错误消息:

16:17:39 16:17:36.926错误 - 准确分析C/C++/Objective-C项目的唯一方法是使用SonarSource构建包装器.如果出于任何原因,在项目中无法使用构建包装器,则可以借助"sonar.cfamily.build-wrapper-output.bypass = true"属性绕过它.通过使用该属性,您将切换到"最佳"模式,可能导致误报和假阴性.

有人可以建议我在哪里找到并运行这个SonarSource构建包装器吗?

非常感谢你的帮助!

c++ jenkins sonar-runner sonarqube

9
推荐指数
1
解决办法
9512
查看次数

Sonarqube 忽略测试执行数据

我正在尝试使用sonar.testExecutionReportPaths. 我正在使用文档中提供的 xml 文件格式。我在路径属性中使用文件的完整路径。并且文件存在。

我不明白为什么我的文件被忽略。任何的想法 ?

sonar.testExecutionReportPaths = "C:\Program Files (x86)\Jenkins\workspace\CI\Sonarqube.xml"
sonar.test.inclusions = "**\*Test*.cs"
Run Code Online (Sandbox Code Playgroud)

这是来自 Sonar Runner 的日志:

INFO: Sensor Generic Test Executions Report
INFO: Parsing C:\Program Files (x86)\Jenkins\workspace\CI\Sonarqube.xml
WARNING: WARN: Property 'sonar.genericcoverage.unitTestReportPaths' is deprecated. Please use 'sonar.testExecutionReportPaths' instead.
INFO: Imported test execution data for 0 files
INFO: Test execution data ignored for 5 unknown files, including:
C:\Program Files (x86)\Jenkins\workspace\CI\Tests\A-Test.cs
C:\Program Files (x86)\Jenkins\workspace\CI\Tests\B-Tests.cs
C:\Program Files (x86)\Jenkins\workspace\CI\Tests\C-Tests.cs
C:\Program Files (x86)\Jenkins\workspace\CI\Tests\D-Test.cs
C:\Program Files (x86)\Jenkins\workspace\CI\Tests\E-Test.cs
INFO: Sensor Generic Test Executions Report …
Run Code Online (Sandbox Code Playgroud)

unit-testing sonar-runner sonarqube

8
推荐指数
1
解决办法
3685
查看次数

Sonarqube 笑话覆盖率报告在预期的 XML 格式上失败

我使用 jest-sonar-reporter 进行覆盖,如下所示:

包.json

{
    "name": "app",
    "version": "1.0.0",
    "description": "The task runner packages for Gulp",
    "main": "gulpfile.js",
    "scripts": {
        ...
        "test": "jest --coverage",
        ...
    },
"devDependencies": {
   ...
    "jest": "26.0.1",
    "jest-sonar-reporter": "2.0.0",
    ...
    },
    "jest": {
        ...
        "collectCoverage": true,
        "testResultsProcessor": "jest-sonar-reporter"
    },
    "jest-junit": {
        "suiteName": "jest tests",
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我在npm run test后生成了 test-report.xml 文件,如下所示:

测试报告.xml

<?xml version="1.0" encoding="UTF-8"?>
<testExecutions version="1">
  <file path="<path to>\AreaList.test.jsx">
    <testCase name="Description 1 " duration="6"/>
  </file>
  <file path="<path to>\selectors.search.test.js">
    <testCase name="Description 2 " duration="2"/> …
Run Code Online (Sandbox Code Playgroud)

javascript sonar-runner sonarqube jestjs sonarqube-scan

8
推荐指数
0
解决办法
1万
查看次数