gradle - परीक्षण के बिना ग्रैडल निर्माण




(4)

मैं यूनिट परीक्षण निष्पादित किए बिना gradle build निष्पादित करना चाहता हूं। मैंने कोशिश की:

$ gradle -Dskip.tests build

ऐसा कुछ नहीं लगता है। क्या कोई अन्य कमांड है जिसका मैं उपयोग कर सकता हूं?


आपको -x कमांड लाइन तर्क का उपयोग करना चाहिए जिसमें कोई कार्य शामिल नहीं है।

प्रयत्न:

gradle build -x test 

अद्यतन करें:

पीटर की टिप्पणी में लिंक बदल गया। Gradle उपयोगकर्ता की मार्गदर्शिका से diagram यहां दिया गया है


परियोजना में परीक्षण कार्यों को अक्षम करने का अलग तरीका यह है:

tasks.withType(Test) {enabled = false}

इस व्यवहार को कभी-कभी आवश्यकता होती है यदि आप किसी एक परियोजना (या परियोजनाओं के समूह) में परीक्षण अक्षम करना चाहते हैं।

इस तरह सभी प्रकार के परीक्षण कार्य के लिए काम करते हैं, सिर्फ एक जावा 'परीक्षण' नहीं। इसके अलावा, इस तरह से सुरक्षित है। मेरा मतलब यह है कि मेरा कहना है कि: अलग-अलग भाषाओं में परियोजनाओं का एक सेट है: यदि हम इस तरह के रिकॉर्ड को मुख्य build.gradle में जोड़ने का प्रयास करते हैं:

 subprojects{
 .......
 tests.enabled=false
 .......
}

हम एक परियोजना में असफल हो जाएंगे जब हमारे पास परीक्षण नामक कोई कार्य नहीं है


स्वीकृत उत्तर सही है।

ओटीओएच, जिस तरह से मैंने पहले हल किया था वह सभी परियोजनाओं में निम्नलिखित जोड़ना था:

test.onlyIf { ! Boolean.getBoolean('skip.tests') }

बिल्ड को -Dskip.tests=true साथ -Dskip.tests=true और सभी परीक्षण कार्यों को छोड़ दिया जाएगा।


Reference

किसी भी कार्य को gradle use -x कमांड-लाइन विकल्प से बाहर करने के लिए। नीचे उदाहरण देखें

task compile << {
    println 'task compile'
}

task compileTest(dependsOn: compile) << {
    println 'compile test'
}

task runningTest(dependsOn: compileTest) << {
    println 'running test'
}
task dist(dependsOn:[runningTest, compileTest, compile]) << {
    println 'running distribution job'
}

आउटपुट: gradle -q dist -x runningTest

task compile
compile test
running distribution job

उम्मीद है कि यह आपको बुनियादी देगा





gradle