Ich versuche, ein Verzeichnis von der Analyse durch Sonar auszuschließen. Ich habe die folgenden Eigenschaften in meiner sonar-project.properties
Datei definiert :
sonar.sources=src/java
sonar.exclusions=src/java/test/****/*.java
Die Verzeichnisstruktur, die ich habe, ist:
src/java/dig
src/java/test/dig
Wenn ich den Sonar-Runner starte, erhalte ich folgende Informationen:
INFO - Excluded sources:
INFO - src/java/test/**/*.java
INFO - Excluded tests:
INFO - **/package-info.java
Wenn ich jedoch das Ergebnis der Analyse überprüfe, sind alle Pakete im Testverzeichnis noch vorhanden.
Ich muss Sonar nur anweisen, das Testverzeichnis und alle darin enthaltenen Pakete nicht zu analysieren.
sonarqube
sonar-runner
user1982350
quelle
quelle
Antworten:
Versuchen Sie so etwas:
quelle
src/test/java
stattdessen habensrc/java/test/
.sonar.exclusions=node_modules/**
wird, um verschachtelte node_modules-Ordner NICHT auszuschließen, die Sie ausführen müssen, umsonar.exclusions=node_modules/**, /some/path/to/nested/node_modules/**
sie explizit auszuschließenIch kann mehrere Verzeichnisse mit der folgenden Konfiguration ausschließen (durch Kommas getrennte Ordnerpfade):
Und während ich den Sonarläufer laufen ließ, bekam ich Folgendes im Protokoll:
quelle
sonar.exclusions=**/bin/**,*.html
aber es dauert immer noch HTML-Dateien auch beim Scannen. HTML-Dateien sind alle Unterordner an mehreren Stellen, und das Hinzufügen auf Unterordnerebene hier mit der tatsächlichen Pfadzuordnung wird mehr Arbeit bedeuten. Gibt es eine Möglichkeit, alle * .specific_file_type vom Scannen auszuschließen?Dies wird für Ihren Fall funktionieren:
quelle
Wenn wir den gesamten Ordner überspringen möchten, kann Folgendes verwendet werden:
Und wenn wir nur eine bestimmte Datei haben, geben Sie einfach den vollständigen Pfad an.
Alle Ordner, die hier ausgeschlossen und angehängt werden müssen.
quelle
sonar.exclusions=folderName
undsonar.exclusions=folderName/**
? Vielen DankEine weitere Konfigurationsoption ist das Hinzufügen von Maven-Eigenschaften
sonar.exclusions
. Unten finden Sie eine Beispiel-POM-Datei mit Ausschlüssen des statischen JQuery-Verzeichnisses und des statischen PDF-Viewer-Verzeichnisses.quelle
Am einfachsten ist es, nach dem Starten des Servers (localhost: 8080) zur Server-URL zu wechseln und sich dann als Administrator anzumelden. Gehen Sie zu Einstellungen> Ausschlüsse> Ausschlüsse für Quelldateien - Fügen Sie hier Ihre Pakete hinzu. Starten Sie den Server neu.
quelle
Welche Sonarversion verwenden Sie? Es gibt eine Option namens " sonar.skippedModules = yourmodulename" ".
Dadurch wird das gesamte Modul übersprungen. Also sei dir dessen bewusst.
quelle
Um nur zu erwähnen, dass Sie, sobald Sie die Dateien von Sonar ausgeschlossen haben, dasselbe für das Jacoco-Plugin tun:
quelle
Fügen Sie durch Kommas getrennte Ordnerpfade hinzu
sonar.exclusions=**/abc/**,**/def/**
Dies funktionierte in einem Winkelprojekt
quelle
Wenn Sie ein Azure DevOps-Benutzer sind und suchen, wo und wie Sie Dateien und Ordner ausschließen können, gehen Sie wie folgt vor:
Beispiel:
Hinweis: Wenn Sie sich auf dem Pfad nicht sicher sind, können Sie in Sonarqube gehen, Ihr Projekt anzeigen, alle oder neue 'Code-Gerüche' anzeigen. Der Pfad, den Sie benötigen, ist über jeder Gruppe von Problemen aufgeführt. Sie können den vollständigen Pfad zu einer Datei abrufen oder Platzhalter wie die folgenden Beispiele verwenden:
Wenn Sie die Aufgabe "Codeanalyse ausführen" nicht hinzugefügt haben, tun Sie dies und platzieren Sie sie irgendwo nach der Aufgabe "Lösung erstellen ** / *. Sln".
Speichern und in die Warteschlange stellen und dann Ihren Sonarqube-Server überprüfen, um festzustellen, ob die Ausschlüsse funktioniert haben.
quelle
Fügen Sie diese Zeile Ihrer Datei sonar-project.properties hinzu
Beispiel: sonar.exclusions = src / *. java Seien Sie vorsichtig, wenn Sie einen Ordner ausschließen möchten und sich innerhalb des Ordners eine Datei befindet. Sie müssen zuerst die Dateien ausschließen oder die Dateien einzeln hinzufügen. Stellen Sie sich beispielsweise vor, es gibt einen Ordner wie den folgenden ::
src/app.java src/controllers/home.java src/services/test.java
das musst du machen:
sonar.exclusions=src/app.java,src/controllers/*.java,src/services/*.java
Es hat bei mir funktioniert
quelle
Sie können das gleiche mit tun
build.gradle
Und wenn Sie mehr Dateien / Verzeichnisse ausschließen möchten, dann:
quelle
Das hat bei mir funktioniert:
Es schließt alle .js- und .css-Dateien in einem der Unterverzeichnisse eines Ordners "wwwroot" aus, der als eines der Unterverzeichnisse des Ordners "src" (Projektstamm) angezeigt wird.
quelle