2014-04-04 12 views
5

मुझे निम्न समस्या मिली है: मैंने "एंड्रॉइड लिंट" गुणवत्ता प्रोफ़ाइल के साथ सोनारक्यूब और एंड्रॉइड प्लगइन स्थापित किया है। जब मैं अपने build.gradle स्क्रिप्ट को "एंड्रॉइड लिंट" प्रोफाइल के साथ निष्पादित करता हूं, तो सोनार-रनर प्लगइन अच्छा काम करता है, लेकिन सोनारक्यूब में मुझे कोई मेल नहीं मिला, केवल शून्य।सोनार एंड्रॉइड लिंट कोई मेल नहीं मिला

फिर भी, जब मैं एक और प्रोफ़ाइल शामिल करता हूं- "एंड्रॉइड लिंट" नहीं - मैं बहुत सारे मुद्दों को देख सकता हूं। मेरे एंड्रॉइड एसडीके में भी जब यह अपना खुद का लिंट लागू होता है तो मैं 157 मुद्दों को देख सकता हूं। यह क्या हो सकता है

sonar - version 3.7.4; 
android plugin - version 0.1

उत्तर

3

आपका sonar.sources संपत्ति AndroidManifest.xml फ़ाइल की जड़ तक ले जाना चाहिए। जैसे यदि आपका AndroidManifest.xml फ़ाइल src/main में स्थित है तो अपने build.gradle फ़ाइल शामिल करना चाहिए:

sonarRunner { 
    sonarProperties { 
     ... 
     property "sonar.sources", "src/main" 
     property "sonar.profile", "Android Lint" 
     ... 
    } 
} 

आप अधिक रास्तों sonar.sources में आप उन्हें एक अल्पविराम द्वारा पृथक सूची के रूप में रख सकते हैं की जरूरत है।

आप पाएंगे कि कैसे सोनार एंड्रॉइड प्लगइन निर्धारित करता है कि विश्लेषण source code में विश्लेषण को चलाने के लिए है या नहीं।

0

दुर्भाग्यवश यदि आप केवल स्रोत/मुख्य में sonar.sources को इंगित करते हैं, तो आपको अपने सभी स्रोतों के साथ समस्याएं मिलेंगी क्योंकि आप संभवत: minSdkVersion और targetSdkVersion सेट (यह क्रमिक से आता है) नहीं बनाते हैं। मैं अपने स्रोत की स्थापना कुछ बात की तरह बनना की कोशिश की है:

निर्माण/मध्यवर्ती/बंडलों/रिलीज, src/मुख्य/जावा

लेकिन मैं अभी भी एपीआई स्तर के कारण (अवैध) त्रुटियों की एक अत्यधिक राशि प्राप्त ।

+0

क्या आप एक defini खोजने में सक्षम थे टिव समाधान? – FoY

+1

नहीं, हम हडसन/जेनकींस के भीतर LINT आउटपुट का उपयोग कर रहे हैं और पारंपरिक, गैर-एंड्रॉइड विश्लेषण के लिए सोनार का उपयोग कर रहे हैं। किंडा बेकार है लेकिन यह वही है। –

1

इस तरह अपने सोनार गुणों को बदलने :

apply plugin: "org.sonarqube" 

sonarqube { 

properties { 

    property "sonar.projectName", "appa" 

    property "sonar.projectKey", "appa_app" 

    property "sonar.projectVersion", "1.0" 

    property "sonar.analysis.mode", "publish" 

    property "sonar.language", "java" 

    property 'sonar.sourceEncoding', "UTF-8" 

    property "sonar.sources", "./src/main" 

    //property "sonar.exclusions", "**/*Entity.java" 

    // property "sonar.exclusions", "src/main/java/com/apparkb/model/**, **/*Entity.java" 

    property "sonar.host.url", "http://192.168.21.33:9000" 

    property "sonar.login", "admin" 

    property "sonar.profile", "testlint"//use your quality profile instead 

    property 'sonar.import_unknown_files', true 

    property "sonar.android.lint.report", "./build/outputs/lint-results-debug.xml" 

    property "sonar.password", "admin" 

    property "sonar.java.binaries", "build/" 



} 
} 

फाहा-परिणाम debug.xml बनाने के लिए आप स्टूडियो टर्मिनल पर नीचे आदेश चला करना होगा:

./gradlew lint 

यह होगा गायब एक्सएमएल रिपोर्ट उत्पन्न करें। सावधान रहें, यह प्रत्येक बिल्ड संस्करण के लिए एक रिपोर्ट उत्पन्न कर सकता है (डिफ़ॉल्ट रूप से डीबग बिल्ड/आउटपुट/लिंट-परिणाम-डीबग.एक्सएमएल उत्पन्न करेगा)। तो आप lintDebug, lintRelease ... अपने निर्माण संस्करण पर निर्भरताओं को कॉल कर सकते हैं।

और करने के लिए फाहा गुणों को बदलने: अब

lintOptions { // set to true to turn off analysis progress reporting by lint 

    quiet true 

    // if true, stop the gradle build if errors are found 

    abortOnError false 

    // do not ignore warnings 

    warningsAsErrors true 
} 

यदि आप चलाने

./gradlew sonarqube 

आप परिणाम इसके वास्तव में स्थानीय फ़ाइल की रिपोर्ट है कि वास्तव में पर की मेजबानी की रही है दिखाए जाएंगे सर्वर enter image description here

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