Próbuję wykluczyć katalog z analizy przez Sonar. Mam następujące właściwości zdefiniowane w moim sonar-project.properties
pliku:
sonar.sources=src/java
sonar.exclusions=src/java/test/****/*.java
Struktura katalogów, którą mam, to:
src/java/dig
src/java/test/dig
Kiedy uruchamiam sonar-runner, otrzymuję następujące informacje:
INFO - Excluded sources:
INFO - src/java/test/**/*.java
INFO - Excluded tests:
INFO - **/package-info.java
Ale kiedy sprawdzam wynik analizy, wszystkie pakiety w katalogu testowym nadal tam są.
Muszę tylko powiedzieć Sonarowi, aby nie analizował katalogu testów i żadnych zawartych w nim pakietów.
sonarqube
sonar-runner
user1982350
źródło
źródło
Odpowiedzi:
Spróbuj czegoś takiego:
źródło
src/test/java
zamiastsrc/java/test/
.sonar.exclusions=node_modules/**
nie będzie wykluczać zagnieżdżone node_modules foldery trzeba będzie zrobićsonar.exclusions=node_modules/**, /some/path/to/nested/node_modules/**
jawnie wykluczyć jeJestem w stanie wykluczyć wiele katalogów za pomocą poniższej konfiguracji (ścieżki folderów oddzielone przecinkami):
A podczas uruchamiania sonaru w dzienniku otrzymałem następujące informacje:
źródło
sonar.exclusions=**/bin/**,*.html
ale nadal skanuje pliki html. Pliki HTML to wszystkie podfoldery w kilku miejscach, a dodanie tutaj poziomu podfolderów z aktualną mapą ścieżki będzie bardziej pracochłonne. Czy istnieje sposób, aby wykluczyć wszystkie * .specific_file_type ze skanowania?To zadziała w Twoim przypadku:
źródło
Jeśli chcemy pominąć cały folder, można użyć:
A jeśli mamy tylko jeden konkretny plik, podaj pełną ścieżkę.
Cały folder, który należy wykluczyć i dołączyć tutaj.
źródło
sonar.exclusions=folderName
isonar.exclusions=folderName/**
? DziękiInną opcją konfiguracji jest dodanie właściwości maven
sonar.exclusions
. Poniżej znajduje się przykładowy plik pom z wykluczeniami statycznego katalogu jquery i statycznego katalogu przeglądarki pdf.źródło
Najłatwiej jest przejść do adresu URL serwera po uruchomieniu serwera (localhost: 8080), a następnie zalogować się jako administrator, przejdź do ustawień> Wykluczenia> Wykluczenia plików źródłowych - Dodaj swoje pakiety tutaj. Zrestartuj serwer.
źródło
jakiej wersji sonaru używasz? Jest jedna opcja o nazwie " sonar.skippedModules = nazwa twojego modułu ".
Spowoduje to pominięcie całego modułu. Więc bądź tego świadomy.
źródło
Wystarczy wspomnieć, że po wykluczeniu plików z Sonar zrób to samo dla wtyczki Jacoco:
źródło
Dodaj ścieżki folderów oddzielone przecinkami
sonar.exclusions=**/abc/**,**/def/**
To zadziałało w kanciastym projekcie
źródło
dodaj tę linię do swojego pliku sonar-project.properties
ex: sonar.exclusion = src / *. java uważaj, jeśli chcesz wykluczyć folder, aw folderze znajduje się plik, musisz najpierw wykluczyć pliki lub dodać pliki jeden po drugim, na przykład wyobraź sobie, że jest folder taki jak poniżej :
src/app.java src/controllers/home.java src/services/test.java
musisz to zrobić:
sonar.exclusions=src/app.java,src/controllers/*.java,src/services/*.java
U mnie to zadziałało
źródło
Jeśli jesteś użytkownikiem usługi Azure DevOps i szukasz informacji o tym, gdzie i jak wykluczyć pliki i foldery, gotowe:
Przykład:
Uwaga: Jeśli nie masz pewności co do ścieżki, możesz przejść do sonarqube, wyświetlić projekt, przejrzeć wszystkie lub nowe „zapachy kodu”, a potrzebna ścieżka jest wymieniona nad każdą grupą problemów. Możesz pobrać pełną ścieżkę do pliku lub użyć symboli wieloznacznych, takich jak te przykłady:
Jeśli nie masz dodanego zadania „Uruchom analizę kodu”, zrób to i umieść je gdzieś po zadaniu „Build solution ** / *. Sln”.
Zapisz i ustaw w kolejce, a następnie sprawdź serwer sonarqube, aby sprawdzić, czy wykluczenia zadziałały.
źródło
Możesz zrobić to samo z
build.gradle
A jeśli chcesz wykluczyć więcej plików / katalogów, to:
źródło
To zadziałało dla mnie:
Wyklucza wszelkie pliki .js i .css z podkatalogów folderu „wwwroot” występujących jako jeden z podkatalogów folderu „src” (katalog główny projektu).
źródło