java - How to register custom rules in a plugin for SonarQube 4.5? -


सोनारक्यूब संस्करण: 4.5

मैंने एक जावा प्रोजेक्ट बनाया है । फिर मैंने एक साधारण नियम जोड़ा जो BaseTreeVisitor प्राप्त करता है और हमेशा एक समस्या उठाती है में visitMethod (MethodTree) । मैंने @Rule (key = "x1") के साथ वर्ग को एनोटेट किया था और उसमें एक ही कुंजी को कक्षा में MyRulesDefinition का उपयोग करते समय रिपॉजिटरी में नया नियम बनाते हैं।

मैंने परियोजना का निर्माण किया, जार फ़ाइल को प्लगिन फ़ोल्डर में डाल दिया और सोनार सर्वर शुरू किया। प्लगइन लोड किया गया था और नियम अस्तित्व में है। मैंने इसे चयनित गुणवत्ता प्रोफ़ाइल के लिए सक्रिय किया और एक विश्लेषण चलाया लेकिन नियम से कोई समस्या नहीं मिली।

मैं क्या कर रहा हूँ गलत? MyRulesDefinition नियम के तर्क में मैप किए गए नियम टेम्पलेट कैसा है?

नवीनतम एपीआई का इस्तेमाल करते हुए सोनारक्यूब प्लगइन्स के लिए कोई अन्य उदाहरण मौजूद हैं?

नवीनतम एपीआई का इस्तेमाल करते हुए सोनारक्यूब प्लग इन के लिए कोई अन्य उदाहरण मौजूद हैं?

नहीं, आज मैं उसी मुद्दे का सामना करना पड़ा और मुझे कोई भी नहीं मिला। लेकिन यहां समाधान है:

  1. एक क्लास को कार्यान्वित करना नियमडिफ़िनिशन -> यह एक सर्वरएक्स्टेंशन है जिसका एकमात्र उद्देश्य आपके कस्टम नियम बनाना है सोनारक्यूब के यूआई में प्रकट होने पर, यदि आपने स्पष्ट रूप से एक परिभाषा प्रदान की है (प्रोग्रामैटिक रूप से, या किसी एक्सएमएल फ़ाइल में, या एनोटेशन के माध्यम से) यह एक्सटेंशन सर्वर स्टार्टअप पर लोड किया जाता है।
  2. BatchExtension और JavaFileScannersFactory -> को लागू करने वाले एक क्लास को बनाएं, इसका उद्देश्य सभी कस्टम जावा नियमों के दौरान उपलब्ध कराने के लिए है अपने नियमों के उदाहरणों को वापस करके बैच विश्लेषण विश्लेषण के दौरान यह एक्सटेंशन लोड किया जाता है।
  3. सोनारप्लगिन का विस्तार करने वाला वर्ग बनाएं, जो ऊपर 1 अंक और 2 में बनाए गए एक्सटेंशन देता है।

आपके कस्टम नियम तब दोनों में उपलब्ध होंगे UI और विश्लेषण के दौरान यदि आप ऐसा नहीं करते हैं तो 1. आप उन्हें सक्षम / कॉन्फ़िगर करने में सक्षम नहीं होंगे। यदि आप 2 भूल जाते हैं, तो वे सक्रिय / कॉन्फ़िगर करने योग्य होंगे, लेकिन कभी भी निष्पादित नहीं किया जाएगा (और कोई भी त्रुटि नहीं उठाई जाएगी)

यह नियमों के साथ मामूली अंतर है : आपका विस्तार नियमरिपॉजिटरी सीधे बैचएक्टेस्टन और जावाफाइलसक्चर


Comments

Popular posts from this blog

mysql - How to enter php data into a html multiple select box -

java - Can't add JTree to JPanel of a JInternalFrame -

c++ - Cassandra datastax cpp driver - avoiding unnecessary copies -