2013-06-04 10 views
6

Używam Jenkinsa z zainstalowaną wtyczką FindBugs do statycznej analizy kodu. Ponadto każdy programista w zespole ma zainstalowaną wtyczkę IntelliJ IDEA FindBugs, aby zrobić to samo.FindBugs pokazuje tylko pierwszy błąd w metodzie (Jenkins, IntelliJ IDEA)

Problem polega na tym, że w Jenkinsie zgłaszane jest tylko pierwsze wystąpienie błędu w metodzie. W Idea wszystkie problemy są zgłaszane jako pojedyncze błędy. Na przykład:

public String myMethod() { 
    StringBuilder sb = new StringBuilder(); 
    sb.append(String.format("First \n")); 
    sb.append(String.format("Second \n")); 
    sb.append(String.format("Third \n")); 
    sb.append(String.format("Fourth \n")); 
    return sb.toString(); 
} 

w tej metodzie Idea zgłasza 4 błędy typu VA_FORMAT_STRING_USES_NEWLINE. Na serwerze Jennkins istnieje tylko jeden błąd, na linii z ciągiem First \n.

Czy istnieje sposób na skonfigurowanie Jenkinsa lub Idea, aby zachowywali się jednolicie?

Wersje:

  • IntelliJ Idea Przedsiębiorstwo 12.1.3
  • plugin FindBugs-IDEA 0.9.97
  • Jenkins 1,513
  • Jenkins findbugs plugin 2.0.2
+0

Możliwe, że konfiguracja Jeny nie powiedzie się po zakończeniu kompilacji i zatrzymaniu, gdy tylko wykryje błąd - co jest dość normalne. Idea ciągle jednak dokonuje ponownej oceny każdej linii kodu za pomocą jej analizatora statycznego, co oznacza, że ​​nie zatrzyma się, gdy wykryje błąd. Nie sądzę, że chciałbyś zmienić zachowanie któregoś z nich. –

+0

@EngineerDollery hi, tak naprawdę chciałbym zmienić zachowanie, aby oba narzędzia dawały dokładnie takie same wyniki. Jednak nie wiem, jak zmienić zachowanie albo –

+0

Najpierw musisz upewnić się, gdzie leży problem. Czy sprawdziłeś, czy dane wejściowe wtyczki są poprawne, tak jak w pliku xml mają 4 wpisy błędu? Czy próbowałeś używać wtyczki z repozytoriów Jennkins zamiast wersji pomysłu? – uncletall

Odpowiedz

0

jedynym rozwiązanie, które do tej pory znalazłem, to użycie innej wtyczki, np. QAPlug Findbugs. Ten raportuje wyniki dokładnie tak, jak robi to Jenkins.

Wadą jest to, że jest trochę bardziej niezgrabny niż plugin FindBugs-IDEA.