2012-05-21 16 views
7

मैं एएनटी का उपयोग करके अपना आवेदन बना रहा हूं और मैं Findbugs उल्लंघनों के लिए अपना कोड देख रहा हूं।Findbugs और Ant - विशेष उल्लंघन के लिए निर्माण को रोकें

अब, मेरा उद्देश्य निर्माण को रोकने के लिए है जब भी मेरे कोड में विशेष खोजबग उल्लंघन होता है।

क्या यह संभव है एएनटी & Findbugs का उपयोग करना संभव है?

एनबी। पसंदीदा रूप से किसी भी कस्टम वर्ग को लिखना नहीं है।

उत्तर

4

उपयोग warningsProperty attribute on your findbugs task कोई चेतावनी के लिए एक गुण सेट करने के लिए:

<findbugs ... warningsProperty="findbugsFailure"/> 

और task असफल हो चेतावनी उत्पादित कर रहे हैं:

<fail if="findbugsFailure"> 

उदाहरण के लिए:

<property name="findbugs.home" value="/export/home/daveho/work/findbugs" /> 

    <target name="findbugs" depends="jar"> 

    <findbugs home="${findbugs.home}" 
       output="xml" 
       outputFile="bcel-fb.xml" 
       warningsProperty="findbugsFailure"> 
     <auxClasspath path="${basedir}/lib/Regex.jar" /> 
     <sourcePath path="${basedir}/src/java" /> 
     <class location="${basedir}/bin/bcel.jar" /> 
    </findbugs> 

    <fail if="findbugsFailure"> 

    </target> 
+0

आप दो रन, चेतावनी है कि निर्माण के लिए बंद कर देना चाहिए, और एक चेतावनी है कि नहीं करना चाहिए के लिए में FindBugs विभाजित करने के लिए चाहते हो सकता है। –

+0

क्या आप कृपया कोई उदाहरण प्रदान कर सकते हैं क्योंकि मैं एएनटी में शुरुआत कर रहा हूं ... – Manikandan

+0

यह भी ध्यान दें कि चेतावनियां प्रॉपर्टी केवल सही ढंग से सेट की जाती है अगर "setExeitCode" को "सत्य" (जो डिफ़ॉल्ट है) पर सेट किया गया है। – olenz

2

एक वैकल्पिक विचार (और प्रयास के लायक)को एकीकृत करना होगाआपकी ANT build प्रक्रिया में।

सोनार फाइंडबग (और चेकस्टाइल और पीएमडी) को एकीकृत करता है और आप इसे बिल्ड ब्रेकर प्लगइन का उपयोग करके मानदंड के किसी भी सेट के खिलाफ निर्माण में विफल होने के लिए केंद्रीय रूप से कॉन्फ़िगर कर सकते हैं। देखें:

How do I make Hudson/Jenkins fail if Sonar thresholds are breached?

संबंधित मुद्दे