2016-02-26 10 views
5

वर्तमान में मेरे पास 1.200.000 लॉक प्रोजेक्ट का विश्लेषण करने के लिए सी # प्लगइन और एमएसबिल्ड धावक के साथ सोनारक्यूब 5.1.2 का एक उदाहरण है। मैं वर्गों है कि विश्लेषण किया जाता है को कम करना चाहते हैं, मैं लाइनएमएसबिल्ड रनर के साथ सी # प्लगइन के साथ सोनारक्यूब बहिष्करण नहीं लेता

sonar.exclusions=**/Databases/**/*.* 

साथ लेकिन विश्लेषण से लॉग पढ़ने के बाद एक sonar.properties बना लिया, तो डेटाबेस फ़ोल्डर के अंदर फ़ाइलों विश्लेषण किया गया। Eric Starr से निर्देशों का पालन, मैं धावक की कॉल में इस सरल बहिष्कार नियम सेट:

"C:\sonarqube-5.1.2\bin\MSBuild.SonarQube.Runner.exe" begin /k:MyProject /n:MyProject /v:2 /d:sonar.exclusions="file:C:\codesource\Databases/**/*.*" /d:sonar.scm.provider=tfvc /d:sonar.tfvc.username=************* /d:sonar.tfvc.password.secured={aes}*************************** "/d:sonar.cs.vscoveragexml.reportsPaths=C:\codesource\CodeCoverage\Results.coveragexml" 

मैंने पाया कि धावक एक sonar-project.properties फ़ाइल बनाता है, और यह फ़ाइलों का एक बहुत में स्थित होता है डेटाबेस फ़ोल्डर:

BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectName=myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectBaseDir=BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectName=myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectBaseDir=C:\\codesource\\Databases\\myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.sources=\ 
C:\\codesource\\Databases\\myDatabase\\Scripts\\PreDeployment\\PATCH_20150527_01.sql,\ 
C:\\codesource\\Databases\\myDatabase\\Scripts\\PreDeployment\\ROCOMMON.DBVERSION.sql,\ 
,\..... 

जैसा कि मैंने समझा, डेटाबेस फ़ोल्डर में कोई फ़ाइल नहीं होनी चाहिए। क्या मै गलत हु?

+0

हाय @XtianGIS अगर नीचे जवाब को हल किया है अपने प्रश्न कृपया पर विचार (http://stackoverflow.com/a/35722039/1132448) चेक-निशान पर क्लिक करके [इसे स्वीकार]। यह व्यापक समुदाय को इंगित करता है कि आपको समाधान मिला है और उत्तर देने वाले और स्वयं दोनों को कुछ प्रतिष्ठा देता है। – CyberJacob

उत्तर

8

आप SonarQube Scanner for MSBuild का उपयोग कर रहे हैं जो नियमित रूप से SonarQube Scanner से अन्य सभी भाषाओं के लिए उपयोग किया जाता है।

sonar.exclude लाइन जो आप उपयोग करने का प्रयास कर रहे हैं, केवल तभी काम करेगी जब आप नियमित सोनारक्यूब स्कैनर का उपयोग करेंगे, क्योंकि यह सोनार-project.properties फ़ाइल में होता है। MSBuild के लिए सोनारक्यूब स्कैनर में केवल सोनारक्यूब.एनालिसिस.एक्सएमएल फ़ाइल है जिसमें प्रोजेक्ट से संबंधित सेटिंग्स शामिल हैं जिन्हें आप ट्विक कर सकते हैं।

आप SonarQube.Analysis.Xml फ़ाइल के लिए अधिलेखन रणनीतियों की जोड़ी का उपयोग कर सकते हैं:

  • एक परियोजना विशेष संपत्ति MSBuild * * proj फ़ाइल (एक SonarQube मॉड्यूल के लिए इसी) में परिभाषित ओवरराइड कर सकते हैं।:
  • एक संपत्ति आदेश पंक्ति में परिभाषित (/ घ: प्रॉपर्टी = मूल्य) ओवरराइड कर सकते हैं जो है:
  • एक संपत्ति SonarQube.Analysis.xml विन्यास फाइल
  • में एक संपत्ति SonarQube उपयोगकर्ता इंटरफ़ेस में परिभाषित के रूप में परिभाषित परियोजना स्तर जो ओवरराइड कर सकते हैं सब कुछ
  • एक संपत्ति वैश्विक स्तर पर SonarQube उपयोगकर्ता इंटरफ़ेस में परिभाषित किया गया है जो कुछ भी करती है

अपने समाधान से विशिष्ट फ़ोल्डर्स या एक्सटेंशन निकालने के लिए:

आप में शामिल नहीं जोड़ने की जरूरत प्रत्येक व्यक्तिगत परियोजनाओं '.csproj फ़ाइल। यहां सिंटैक्स है जिसका उपयोग आपको मुख्य रूट नोड के भीतर करना चाहिए, जिसे <Project...> कहा जाता है और लक्ष्य में से एक में, अधिमानतः <Target Name="BeforeBuild">। उम्मीद है कि नीचे वाक्यविन्यास स्वयं स्पष्टीकरणपूर्ण है, लेकिन यदि ऐसा नहीं है, तो कृपया इस उत्तर के तहत एक टिप्पणी छोड़ दें और मैं इसे तुरंत अपडेट कर दूंगा।

<Target Name="BeforeBuild"> 
    <ItemGroup> 
      <SonarQubeSetting Include="sonar.exclusions"> 
       <Value>**/Databases/**/*</Value> 
      </SonarQubeSetting> 
     </ItemGroup> 
    </Target> 

उम्मीद है कि यह मदद करता है!

Source

+0

मैंने सोनारक्यूब 5 में अपग्रेड किया।3, प्रशासन खंड में बहिष्करण को कॉन्फ़िगर करें, साथ ही, मैंने sonarqube की कमांड लाइन में बहिष्करण सेट किया है। जब धावक को निष्पादित किया जाता है, तो यह दोनों SonersQube.Analysis.xml फ़ाइल को दोनों स्थानों में परिभाषित बहिष्करण पैटर्न के साथ उत्पन्न करता है। कोई भी लागू नहीं होता है :( – XtianGIS

+0

@XtianGIS हां, यही कारण है कि आपको .csproj फ़ाइल में परिवर्तन करने की आवश्यकता है क्योंकि इसे इन पर आधारित SonarQube.Analysis.xml फ़ाइल उत्पन्न करनी चाहिए। – anthonymonori

+0

मुझे लगता है कि SonarQube.Analysis.xml इसमें बहिष्करण पैटर्न शामिल हैं जो इसे काम करना चाहिए। – XtianGIS

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