2015-01-16 9 views
20

Ich frage mich, welches Sonar-Maven-Plugin in welcher Version ich verwenden soll. Soweit ich weiß gibt es eine org.codehaus.mojo Version und zwei org.codehaus.sonar Versionen (sonar-maven3-plugin, sonar-maven-plugin).Welche Sonar-Maven-Plugin-Version verwenden?

Soweit ich weiß, ist das sonar-maven3-plugin nun veraltet und das org.codehaus.sonar: sonar-maven-plugin sollte stattdessen verwendet werden. Allerdings sind diese org.codehaus.sonar-Versionen an eine bestimmte Version des Sonar-Servers gebunden, daher macht es wahrscheinlich keinen Sinn, sie direkt zu verwenden. Um damit umgehen zu können gibt es das org.codehaus. mojo: sonar-maven-plugin welches prüft welche sonar version der server hat und von dort prüft welches org.codehaus. Sonar: Sonar-Maven-Plugin zu verwenden.

Also, um eine Maven Pom zu haben, die unabhängig von der Sonar Server Version ist, sollte man wahrscheinlich die org.sonar.mojo:sonar-maven-plugin:RELEASE Version verwenden, um sicher zu sein.

Habe ich das richtig verstanden?

Alle weiteren Dinge zu beachten?

Dank

Antwort

13

Wie in der ("mit Maven 3 analysiert Project" sehen) documentation page beschrieben, das Plugin die Sie verwenden müssen, ist org.codehaus.mojo:sonar-maven-plugin, nicht die interne eine (n).

+0

Und, wie korrelieren wir die Versionsnummern zwischen den org.codehaus.sonar und org.codehaus.mojo Sonar-Maven-Plugins? –

+0

Nehmen wir an, dass das "org.codehaus.mojo: sonar-maven-plugin" ein Fassaden-Plugin zu den internen war, um keine Abhängigkeiten zu SonarQube API zu haben. Es erkennt anhand eines WS-Aufrufs an den Server, welche Version der internen Plugins verwendet werden soll, um zu wissen, welche Version von SonarQube installiert ist. Ich sage "war mal eine Fassade", denn in kommenden SQ 5.2 werden die internen Plugins nicht mehr benötigt und daher aus der Codebasis entfernt. –

+3

Wie wäre es mit dem 'org.codehaus.sonar: sonar-maven-plugin'? Ist das ein Maven2-Plugin? – JavaJigs

2

Als wir sonarserver ver 3.7.1 benutzten, hatten wir org.codehaus.sonar: sonar-maven-plugin. Sobald wir von Sonar Server auf den SonarQube Server 4.5+ migriert haben, müssen wir org.codehaus.mojo: sonar-maven-plugin verwenden. Derzeit in unserem Projekt müssen wir unseren Code mit jdk 6 kompilieren (wie es altes Projekt ist) und den Sonarqube-Server ver 4.5.7 Analyse mit Java 7 so mit Java 6 ausführen wir den Befehl mvn clean org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent install und während der Sonar laufen Analyse wir ändern die jvm zu Java 7 und führen den Befehl mvn org.codehaus.mojo:sonar-maven-plugin:2.4:sonar -Dsonar -Dsonar.host.url=http://localhost:9000 -Dsonar.dynamicAnalysis=true