J'ai beaucoup (disons 10 (A, B, C ...)) plugin Eclipse qui est basé sur Maven.
J'ai un fichier pom maître qui inclut tous les autres projets de plugin. maintenant, en construisant le fichier maître avec l'objectif sonar:sonar
, il construira tous les plugins.
Alors ma question: Y at-il un moyen pour que je puisse exclure un plugin, disons A et C.?
NOTE: Cette propriété est obsolète depuis la version 4.3 et ne devrait plus être utilisée.
À partir de documentation , il existe une option permettant de sauter un module à l'aide de sonar.skippedModules
.
Vous pouvez également le faire à partir de la page d’administration du sonar, comme indiqué dans la section Saut de modules ici .
Il existe plusieurs manières, dont l'une consiste à ajouter la propriété sonar.skip
à l'intérieur du pom.xml
du projet/module que vous souhaitez ignorer.
Cela exclut un projet de l'analyse SonarQube:
<properties>
<sonar.skip>true</sonar.skip>
</properties>
Cela fonctionne également avec Jenkins et l'exécution de Sonar en tant qu'action post-build.
Pour plus de détails, voir: Analyse avec SonarQube Scanner for Maven
Je n’ai pas eu de chance avec le sonar.skip
officiellement documenté: quand je l’ai mis dans un POM de sous-module, j’ai vu
[INFO] Delaying SonarQube Scanner to the end of multi-module project
après les modules qui auraient dû être inclus, puis
[INFO] sonar.skip = true: Skipping analysis
à la fin de la construction du réacteur, et il n'y avait pas d'analyse/téléchargement.
Au lieu de cela, j'ai défini sonar.exclusions
dans le POM racine avec un pattern correspondant aux fichiers source (par chemin du paquet) qui seraient utilisés dans le sous-module à ignorer. Cela semble avoir fonctionné.
De plus, la définition de sonar.projectKey
dans le POM racine ne fonctionnait pas; Sonar s'est plaint que
Project '…' can't have 2 modules with the following key: …
que j'ai corrigé en déplaçant ceci vers .mvn/maven.config
:
-Dsonar.projectKey=…