2016-07-07 9 views
8

में कमांड लाइन पर अमल मेरी Gradle फ़ाइल में मैं निम्नलिखित कार्य को परिभाषित किया। मैं उसे कैसे कर सकता हूँ ?Gradle कस्टम कार्य

मैं Google Play में स्वचालित रूप से प्रकाशित करने के लिए लाइब्रेरी का उपयोग कर रहा हूं। मेरी परियोजना उत्पाद फ्लेवर्स पर आधारित है और मुझे प्रत्येक स्वाद के लिए कमांड लाइन द्वारा टर्मिनल कमांड लाइन में पास करने की आवश्यकता है। तो मैं test_example कार्य में सभी कमांड लाइन पास करना चाहता हूं।

उत्तर

11

आप मूल रूप से दो प्रमुख सुविधाजनक विकल्प हैं:

  1. उपयोग Gradle Exec कार्य प्रकार

    task fooExec(type: Exec) { 
        workingDir "${buildDir}/foo" 
        commandLine 'echo', 'Hello world!' 
    } << { 
        println "Executed!" 
    } 
    
  2. उपयोग Gradle Project.exec विधि

    task execFoo << { 
        exec { 
         executable 'echo' 
         args 'Hello world!' 
        } 
        println "Executed!" 
    } 
    

बंद करने के अंदर दोनों मामलों में आप ExecSpec के तरीकों का उपयोग करके निष्पादन पैरामीटर निर्दिष्ट कर सकते हैं। निष्पादित आदेशों से मानक आउटपुट और त्रुटि आउटपुट को डाउनल प्रक्रिया के stdout और stderr पर रीडायरेक्ट किया जाएगा।

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