Maven SonarQube multi module
J'ai un projet constitué de plusieurs modules.
Je suis en train de les analyser avec SonarQube.
J'ai inclus le Sonar, Maven plugin comme une dépendance dans chaque module:
<dependency>
<groupId>org.codehaus.sonar</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>5.1</version>
</dependency>
Alors je suis en cours d'exécution à l'aide de Maven:
mvn clean vérifier sonar:sonar
Maven se termine avec succès et je peux voir le Sonar de l'analyse qui se passe, cependant quand j'ouvre le Sonar de l'INTERFACE utilisateur, les modules ne sont pas visibles dans les projets.
Cependant...
Si je lance la commande Maven à partir d'un module individuel répertoire, il est visible dans les projets.
Sens que je suis absent quelque chose de très simple, d'apprécier l'aide!
OriginalL'auteur timothyclifford | 2016-04-05
Vous devez vous connecter pour publier un commentaire.
Plutôt que comme une dépendance, mettre le
sonar-maven-plugin
dans le<build>
section de la racinepom.xml
, comme suit:Et comme c'est un multi-projet de module, vous devriez tout d'abord effectuer une installation à partir de la racine du projet, puis exécutez le
sonar:sonar
objectif comme une étape spécifique, comme suit:Pour configurer le sonarqube URL du serveur, spécifiez un projet de la propriété
sonar.de l'hôte.url
dans votresettings.xml
oupom.xml
comme suit:La Version de la SonarQube Scanner pour Maven ne sont pas à la suite de la SonarQube versions du serveur. Veuillez consulter docs.sonarqube.org/display/SCAN/...
Comme Julien H. mentionné, le plugin Maven a séparé gestion des versions de SonarQube. J'ai corrigé la réponse à la groupId/artifactId/version de la dernière version du plugin qui est compatible avec SonarQube serveur v5.1.
Merci @AbrahamGrief, semble vous sont corrects. Je suis confus de ce que les autres versions (4, 5) sont en soutenant alors? mvnrepository.com/artifact/org.codehaus.sonar/... des idées?
Je suis d'inférer à partir de la wiki cette version 3.0.1 de la maven plugin prend en charge les versions 4.5 et plus. Je voudrais rester à l'écart de tous les artefacts qui ont
codehaus
dans legroupId
depuis codehaus est interrompu, sauf si vous essayez d'obtenir quelque chose de plus âgés.OriginalL'auteur heenenee
SonarQube supporte le multi-module, tout comme Maven. Cela signifie qu'un projet Maven contenant plusieurs modules de cartes à un SonarQube projet contenant plusieurs modules/composants, pas de multiples projets.
Prendre SonarQube code pour l'exemple (c'est un multi-module Maven du projet): le projet parent agrégats toutes les informations de sous-modules, alors si vous vérifiez son structure (ou de ses code page), vous pouvez voir la liste de tous les sous-composants (par exemple: SonarQube::Core)
La ligne de fond est que vous êtes témoins d'un comportement attendu. Les sous-modules d'un projet Maven ne sont pas destinés à être analysés comme des projets, vous devez toujours analyser le projet parent et SonarQube va gérer les modules en natif.
Les liens sont cassés
OriginalL'auteur Nicolas B. - SonarSource Team