2010-10-26 13 views
13

मैं दो संकुल अर्थात्सभी अक्षम checkstyle चेकों

com/mydomain/abc/प्रतिनिधि/xyz/jaxws है/कामयाब

और com/mydomain/abc/xyz/jaxws/managed

मैं की आवश्यकता होती है चेकस्टाइल को केवल दूसरे पैकेज के लिए अक्षम किया जाना चाहिए क्योंकि इन्हें प्रॉक्सी कक्षाएं होती हैं जो स्वत: उत्पन्न होती हैं।

मैं के रूप में JavadocPackage जाँच अक्षम करने के लिए

<?xml version="1.0"?> 

<!DOCTYPE suppressions PUBLIC 
    "-//Puppy Crawl//DTD Suppressions 1.1//EN" 
    "suppressions_1_1.dtd"> 

<suppressions> 
     <!-- Suppress JavadocPackage in the test packages --> 
     <suppress checks="JavadocPackage" files="[\\/]test[\\/]"/> 

    <!-- Suppress all checkstyle for autogenerated jaxws.managed package --> 
    <suppress checks="[a-zA-Z0-9]*" files="([^(delegate)])+([a-z]*[\\/]jaxws[\\/]managed[\\/])+"/> 
</suppressions> 

पहले दमन कृपया ध्यान दें कि नीचे दिखाया गया काम करता है ठीक है, लेकिन दूसरा एक नहीं है एक suppression.xml का उपयोग करें। मुझे डर है कि पैकेज का चयन करने के लिए मेरा regex गलत हो सकता है। किसी भी प्रकार की मदद की बेहद सराहना की जाती है।

एक उदाहरण के साथ मेरी आवश्यकताओं राज्य के लिए:

मापदंड के लिए चयन किया गया है कि पैकेज का नाम jaxws.managed में समाप्त होना चाहिए लेकिन पैकेज नाम पर delegate शामिल नहीं होना चाहिए। delegate पर अधिक jaxws.managed से पहले पैकेज का नाम आना चाहिए:

जैसे: जबकि कि com.mycompany.abc.service.jaxws.service अक्षम किया जाना चाहिए और यह कि मैं सभी pakages को छोड़कर अग्रिम के नाम पता नहीं है ध्यान दिया जाना चाहिए है पैकेज com.mycomany.delegate.service.jaxws.managed में checktyle चेकों सक्षम होने चाहिए इस पैटर्न के लिए।

धन्यवाद और सादर Sibi

उत्तर

16

बस दमन का उपयोग करें:

<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/> 

वैकल्पिक रूप से, मैं केवल फ़ाइलें आप Checkstyle की जाँच करना चाहते हैं गुजर सिफारिश करेंगे। उदाहरण के लिए, यदि आप एएनटी का उपयोग कर रहे हैं, तो फ़ाइलों को संसाधित करने के लिए निर्दिष्ट करें, और अनदेखा करने के लिए फ़ाइलों को निर्दिष्ट करने के लिए उपयोग करें।

उदाहरण के लिए

:

<fileset dir="src"> 
    <include name="**/*.java"/> 
    <exclude name="com/mycompany/abc/service/jaxws/service/*.java"/> 
</fileset> 
+0

हाय ओलिवर, ठनक उत्तर के लिए आपका समाधान काम करता है जहां पूरा पैकेज नाम ज्ञात है। मेरे मामले में चयन के मानदंड यह है कि पैकेज नाम "jaxws.managed" में समाप्त होना चाहिए लेकिन पैकेज नाम में "प्रतिनिधि" नहीं होना चाहिए। "प्रतिनिधि" से अधिक पैकेज नाम में "jaxws.managed" से पहले आना चाहिए: उदाहरण: पैकेज में चेकटाइल चेक "com.mycomany.delegate.service.jaxws.managed" को सक्षम होना चाहिए जबकि com.mycompany.abc.service में .jaxws.service "अक्षम होना चाहिए। मेरे प्रश्न में इस अस्पष्टता को इंगित करने के लिए ओलिवर धन्यवाद। –

-3

(?! प्रतिनिधि \ ख) [\ /] [az] * [\ /] jaxws [\ /] में कामयाब [\ /]

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