sonarqube typescript-plugin: "Du måste installera ett plugin som stöder språket"


Jag försöker ställa in SonarQube för att analysera mitt TypeScript-projekt med den här pluginen: https://github.com/Pablissimo/SonarTsPlugin

Jag stöter dock på ett fel som:

> 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.

Min setup: - Windows 7 64-bitars - JDK8 (1.8.0) 64-bitars - SonarQube 5.1 64-bitars

Jag har byggt pluginet från källkoden och kopierat den resulterande .jar-filen till min SonarQube-installation på C:\sonarqube\sonarqube-5.1\extensions\plugins\sonar-typescript-plugin-0.1-SNAPSHOT.jar.

SonarQube körs och är tillgängligt på port 9000, och jag kan se under Inställningar->System->Uppdateringscenter att TypeScript-pluginet är installerat, med språknöckel typescript.

Baserat på detta inlägg verkar det som att jag måste:

Logga in på din Sonar-instans, klicka på "Inställningar" > "Kvalitetsprofiler" och "Skapa" högst upp under rubriken för det språk du vill använda.

När jag tittar på de inställningarna ser jag en Typescript Profiles-rubrik, med en TsLint-profil definierad och inställd som standard.

Slutligen, i min projektrotkatalog har jag en fil 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

Med all denna konfiguration på plats får jag fortfarande sonar-runner-felet "Du måste installera ett plugin som stöder språket".

Vad missar jag?

redigera :

Jag försökte installera JavaScript-pluginet, och jag ser samma problem. Så detta är inte begränsat till TypeScript. Jag kan köra Sonar mot Java-projekt, men inga andra språk verkar fungera.

Svar #1

Okej, jag har listat ut hur man löser detta specifika problem. Nyckeln sonar.language i min sonar-project.properties bör ställas in på ts, inte typescript.

Language
sonar.language=ts

Jag klurade ut detta genom att titta på ett exempelprojekt som motsvarar JavaScript-pluginet: https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/javascript/javascript-sonar-runner/sonar-project.properties. Här är språket satt till js och inte javascript.

Jag måste gissa att språknamnet generellt bör ställas in på den normala filändelsen för källfiler? Dvs. Java -> .java, JavaScript -> .js, TypeScript -> .ts ... Om så är fallet, ja, det är inte självklart. Finns det något sätt att bekräfta denna gissning?

Svar #2

Här är de möjliga sonar.language-värdena

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

Installera den nödvändiga pluginen och kör Skannern med -X-växeln, du kan hitta de nödvändiga värdena i sonar-loggarna.

Relaterade artiklar