2015-05-14 4 views
9

Я пытаюсь настроить SonarQube проанализировать мой машинопись проект с помощью этого плагина: https://github.com/Pablissimo/SonarTsPluginsonarqube машинопись плагин: «Вы должны установить плагин, который поддерживает язык»

Однако я встретив ошибку, как:

> C:\sonarqube\sonar-runner-2.4\bin\sonar-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 для моей установки SonarQube по адресу C:\sonarqube\sonarqube-5.1\extensions\plugins\sonar-typescript-plugin-0.1-SNAPSHOT.jar.

SonarQube работает и обслуживает порт 9000, и я вижу в Settings-> System-> UpdateCenter, что плагин TypeScript установлен с ключевым словом typescript.

на основе this post, кажется, я должен:

Войти в экземпляр эхолота, нажмите на кнопку «Настройки»> «профили качества» и «Создать» в верхней части заголовка для языка, который вы хотите использовать.

Глядя на эти настройки, я вижу 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. Я могу запускать Sonar для проектов Java, но никакие другие языки не работают.

ответ

9

Хорошо, я понял, как решить эту конкретную проблему. Ключ sonar.language в моем sonar-project.properties должен быть установлен в ts, а не typescript.

# Language 
sonar.language=ts 

Я понял это, глядя на примере проекта, соответствующего яваскрипта плагина: 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 ... Если это так, то это не очевидно. Есть ли способ подтвердить эту догадку?

3

Вот Возможные значения sonar.language

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

Установите нужный плагин и запустить сканер с помощью переключателя -X, вы можете найти нужные значения в журналах гидролокатора.

Смежные вопросы