SonarQube 打字稿插件:"You must install a plugin that supports the language"



我试图设置SonarQube来分析我的TypeScript项目使用这个插件:https://github.com/Pablissimo/SonarTsPlugin

然而,我遇到了一个错误,如:

> C:sonarqubesonar-runner-2.4binsonar-runner.bat
...
INFO: 
------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 3.006s
Final Memory: 18M/613M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: You must install a plugin that supports the language 'typescript'
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.

我的设置:—Windows 7 64位—JDK8(1.8.0) 64位- SonarQube 5.1 64位

我已经从源代码构建了插件,并将生成的.jar文件复制到我在C:sonarqubesonarqube-5.1extensionspluginssonar-typescript-plugin-0.1-SNAPSHOT.jar的SonarQube安装中。

SonarQube正在运行并服务于端口9000,我可以在Settings->System->UpdateCenter中看到TypeScript插件已经安装,语言关键字是typescript

根据这篇文章,我似乎必须:

登录到你的Sonar实例,点击"设置">"质量配置文件"one_answers"创建"在你想要使用的语言的标题顶部。

查看这些设置,我看到Typescript Profiles标题,TsLint配置文件定义并设置为默认。

最后,在我的项目根目录,我有一个文件sonar-project.properties

# Required metadata
sonar.projectKey=my-ts-project
sonar.projectName=A TypeScript Project
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=src
# Language
sonar.language=typescript
# Encoding of the source files
sonar.sourceEncoding=UTF-8

所有这些配置到位,我仍然收到声纳运行器错误"你必须安装一个支持该语言的插件"。

我错过了什么?

编辑:

我试着安装JavaScript插件,我看到同样的问题。所以这并不局限于TypeScript。我可以在Java项目上运行Sonar,但其他语言似乎无法工作。

好了,我找到解决这个问题的方法了。我的sonar-project.properties中的sonar.language键应该设置为ts,而不是typescript

# Language
sonar.language=ts

我通过查看对应于javascript插件的示例项目:https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/javascript/javascript-sonar-runner/sonar-project.properties弄清楚了这一点。这里,语言设置为js而不是javascript

我不得不猜测,在一般情况下,语言键应该设置为源文件的正常文件扩展名?比如Java -> . Java, JavaScript -> .js, TypeScript -> .ts…如果是这样,那就不明显了。有什么方法可以证实这个预感吗?

这是可能的声纳。语言值

 C# => "cs"
 CSS => "css"
 SCSS => "scss"
 Less => "less"
 Java => "java"
 Web => "web"
 XML => "xml"
 JSON => "json"
 JavaScript => "js"

安装所需的插件并使用-X开关运行扫描器,您可以在声纳日志中找到必要的值。

相关内容

最新更新