J'essaie d'exclure un répertoire de l'analyse de Sonar. J'ai les propriétés suivantes définies dans mon fichier sonar-project.properties
:
sonar.sources=src/Java
sonar.exclusions=src/Java/test/****/*.Java
La structure de répertoire que j'ai est la suivante:
src/Java/Dig
src/Java/test/Dig
Lorsque je lance le coureur de sonar, les informations suivantes sont affichées:
INFO - Excluded sources:
INFO - src/Java/test/**/*.Java
INFO - Excluded tests:
INFO - **/package-info.Java
Mais lorsque je vérifie le résultat de l'analyse, tous les packages du répertoire de test sont toujours présents.
Je dois juste dire à Sonar de ne pas analyser le répertoire de test ni les packages qu’il contient.
Essayez quelque chose comme ça:
sonar.exclusions=src/Java/test/**
Je suis capable d'exclure plusieurs répertoires en utilisant la configuration ci-dessous (chemins de dossiers séparés par des virgules)
sonar.exclusions=system/**, test/**, application/third_party/**, application/logs/**
Et pendant que je courais le coureur de sonar, j’ai le suivant dans le journal
Excluded sources:
system/**
test/**
application/third_party/**
application/logs/**
Le moyen le plus simple consiste à accéder à l'URL du serveur après le démarrage du serveur (localhost: 8080), puis à vous connecter en tant qu'administrateur. Accédez à paramètres> Exclusions> Exclusions du fichier source - Ajoutez vos packages ici . Redémarrez le serveur.
Si nous voulons ignorer tout le dossier suivant peut être utilisé:
sonar.exclusions=folderName/**/*
Et si nous n’avons qu’un seul fichier, indiquez le chemin complet.
Tous les dossiers qui doivent être exclus et ajoutés ici.
Une autre option de configuration consiste à ajouter un maven properties sonar.exclusions
. Voici un exemple de fichier pom avec les exclusions des répertoires static jquery et pdf viewer.
<project >
<modelVersion>4.0.0</modelVersion>
<artifactId>my Artifact</artifactId>
<!-- Enviroment variables can be referenced as such: ${env.PATH} -->
<packaging>war</packaging>
<url>http://maven.Apache.org</url>
<properties>
<junit.version>4.9</junit.version>
<mockito.version>1.9.5</mockito.version>
<jackson.version>1.9.7</jackson.version>
<powermock.version>1.5</powermock.version>
<!--Exclude the files Here-->
<sonar.exclusions>src/main/webapp/static/jquery_ui/*,src/main/webapp/static/pdf-viewer/*,src/main/webapp/static/pdf-viewer/**,src/main/webapp/static/pdf-viewer/**/*</sonar.exclusions>
</properties>
Cela fonctionnera pour votre cas:
sonar.exclusions=**/src/Java/Dig/ ** , **/src/Java/test/Dig/ **
quelle version de sonar utilisez-vous? Il existe une option appelée " sonar.skippedModules = votrenommodule ".
Cela ignorera tout le module. Alors soyez au courant.
Juste pour mentionner qu'une fois que vous avez exclu les fichiers de Sonar, faites de même pour le plugin Jacoco:
<configuration>
<excludes>
<exclude>com/acme/model/persistence/entity/TransactionEntity*</exclude>
<exclude>com/acme/model/persistence/ModelConstants.class</exclude>
</excludes>
</configuration>