2015-08-18 16 views
5

FindBugs için özel bir eklenti yarattık (netlik için: bu bir findar-eklentidir, sonar eklentisi değil) ve FindBugs sonar eklentisini özel findbugs ile genişletmek istiyoruz. Eklenti.Özel FindBugs eklentisi ile SonarQube FindBugs eklentisini genişletme

Şu anda SonarQube 5.1'i FindBugs sonar-plugin 3.2 ile birlikte kullanıyoruz.

Özel findbugs eklentisinin FindBugs için geçerli bir eklenti olduğundan, bunu etkinleştirmenin en kolay yolunun, FindMugs örneğinin plugin sistemini varolan sonar eklentimizden kullanması olduğunu düşündük, ancak bulamadık. bizim findbugs-plugin nasıl aktif hale getirilir.

Ayrıca, bir rules.xml oluşturmaya ve jar'ı https://jira.sonarsource.com/browse/SONAR-1481'da açıklandığı gibi sonar_home/extensions/rules/findbugs içine yerleştirmeye çalıştık ama bu, kullandığımız FindBugs sonar-eklenti sürümü ile çalışmıyor gibi görünüyor.

Özel FindBugs eklentimizi almak için SonarQube sürümümüzü yapılandırmanın uygun yolu nedir? Hangi adımları atmamız gerekiyor?

+1

Niçin java için SonarQube özel kuralları ile çeklerinizi nasıl uygulayacağınız hakkında bir fikriniz yok? http://docs.sonarqube.org/display/DEV/Custom+Rules+for+Java – benzonico

+1

Bu bir seçenek olurdu, ancak Sonar API'sini kullanarak tüm FindBugs kontrollerini yeniden uygulamak zorunda kalacağız. yeniden? –

+0

Maalesef haklısınız ama kodunuzun daha net bir şekilde ortaya çıkacağını düşünüyorum. – benzonico

cevap

3

seçimleriniz SonarQube FindBugs plugin çatallama ve (this commit bakınız) Bul Güvenlik Hatalar kurallara yanına kurallar ekleyerek ya da FindBugs eklentisine yuvarlandı önce how Find Security Bugs was handled benzer yeni bir eklenti yaratıyor.

Her iki durumda da, kavanozu pom.xml'de bağımlı olarak listeleyebilir, önceden oluşturduğunuz rules.xml dosyasını sağlayıp repository definition ekleyeceksiniz. muhtemelen daha iyidir tek başına rota, giderseniz

, sen FindBugs depo tuşunu kullanın 5.2

  • bir hata düzeltme için

    1. bekleme gerekir. this commit'un 'önce' tarafına bakın. bağlantılar & tek başına güzergahın gereksinimlerine genişletmek taahhüt eklemek için düzenlendi:
    2. gerekli basic plugin plumbing

    EDIT sağlarlar.

  • +0

    Merhaba G. Ann, hızlı yanıt için teşekkür ederim. Önerilen https://github.com/porscheinformatik/sonar-find-sec-bugs-plugin fikrini izleyerek yeni bir eklenti oluşturmaya karar verdim. Yine de, findbugs eklentisinin kendi findbugs tanımlarımızı kullanmasını sağlamak için bir problem gibi görünüyor. Sonar çalışması sırasında Sonar tarafından bir findbugs-include.xml dosyası oluşturulur, ancak bu dosya kendi findbugs hata tanımlarımızı içermez. Hata tanımlarımız https://github.com/SonarSource/sonar-findbugs/blob/master/src/main/java/org/sonar/plugins/findbugs/FindbugsProfileExporter.java#L59 –

    +0

    Hmmm tarafından hariç tutuldu. ... Kendi bildirmek yerine FindBugs deposu anahtarını seçmeniz gerekecek gibi görünüyor. Bu işlem, fb-katkılarının ayrıştırıldığını gösterir. Önceden, kuralların hepsi birlikte toplanmış gibi görünüyor: https://github.com/SonarSource/sonar-findbugs/commit/f61fc9392d35f11f5218d2941b07b4fe79d1726a –

    +0

    Evet, bunu denedim, sonra bu hatayı yaptım: https: // github .com/SonarSource/sonarqube/blob/501289ca85e1c8dd21d5e0ba5f457b40ee62f5ef/sonar-eklenti-api/src/main/java/org/sonar/api/sunucu/kural/RulesDefinition.java # L399 Daha sonraki bir işlemde (!) çözülecek gibi görünüyor, Sonar'ın hangi sürümünde kullanılacağına ve sonuçların ne olacağına emin değilim. –

    İlgili konular