wake-up-neo.net

Wie kann man ein Maven-Projekt von der Sonaranalyse ausschließen?

Ich habe viele (sagen wir 10 (A, B, C ...)) Eclipse-Plugin, das auf Maven basiert.

Ich habe eine Master-Pom-Datei, die alle anderen Plugin-Projekte enthält. Durch das Erstellen der Master-Datei mit sonar:sonar goal werden alle Plugins erstellt.

Also meine Frage: Gibt es eine Möglichkeit, ein Plugin auszuschließen, sagen wir A und C.?

18
Sumit Singh

NOTE: Diese Eigenschaft ist seit Version 4.3 veraltet und sollte nicht mehr verwendet werden.

Aus der Dokumentation besteht die Möglichkeit, das Modul mit sonar.skippedModules zu überspringen.

Sie können dies auch von der Sonar-Verwaltungsseite aus tun, wie im Abschnitt "Überspringmodule" hier dokumentiert.

1
Raghuram

Es gibt mehrere Möglichkeiten, eine davon besteht darin, die sonar.skip-Eigenschaft innerhalb des pom.xml des Projekts/Moduls hinzuzufügen, das Sie überspringen möchten.

Dies schließt ein Projekt aus der SonarQube-Analyse aus:

<properties>
    <sonar.skip>true</sonar.skip>
</properties>

Dies funktioniert auch mit Jenkins und dem Ausführen von Sonar als Post-Build-Aktion.

Weitere Informationen finden Sie unter: Analysieren mit SonarQube-Scanner für Maven

40
Cryn

Ich hatte kein Glück mit dem offiziell dokumentierten sonar.skip: Als ich ihn in ein POM-Modul einbaute, sah ich

[INFO] Delaying SonarQube Scanner to the end of multi-module project

nach Modulen, die aufgenommen werden sollen und dann

[INFO] sonar.skip = true: Skipping analysis

am Ende des Reaktoraufbaus, und es gab keine Analyse/Upload.

Stattdessen definierte ich sonar.exclusions im Root-POM mit einem pattern , das mit den Quelldateien übereinstimmt (nach Paketpfad), die in dem zu überspringenden Submodul verwendet werden. Das scheint funktioniert zu haben.


Nebenbei, die Einstellung von sonar.projectKey im Root-POM funktionierte nicht. Sonar beklagte sich darüber

Project '…' can't have 2 modules with the following key: …

was ich durch Verschieben nach .mvn/maven.config behoben habe:

-Dsonar.projectKey=…
1
Jesse Glick