gradle
कार्य निर्भरता
खोज…
टिप्पणियों
doLast
ध्यान दें, कि एक ग्रेड 3.x में अधिक मुहावरेदार तरीके से कार्य परिभाषा: स्पष्ट doLast {बंद} संकेतन का उपयोग करने के बजाय "लेफ्टशिफ्ट" (<<) ऑपरेटर बेहतर है। ( लेफ्टशिफ्ट को एक ग्रेडल 3.2 में पदावनत किया गया है जिसे ग्रेड 5.0 में हटाया जाना निर्धारित है। ।)
task oldStyle << {
println 'Deprecated style task'
}
के बराबर है:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
कार्य नामों का उपयोग करके निर्भरता जोड़ना
हम dependsOn
विधि के साथ कार्य निष्पादन आदेश को बदल सकते हैं।
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
जोड़ने पर निर्भर करता है: कारण:
- कार्य B कार्य A पर निर्भर करता है
-
B
कार्य निष्पादन से पहलेA
टास्क को हर बार निष्पादित करना।
और आउटपुट है:
> gradle -q B
Hello from A
Hello from B
दूसरे प्रोजेक्ट से निर्भरता जोड़ना
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
किसी अन्य प्रोजेक्ट में किसी कार्य को संदर्भित करने के लिए, आप उस प्रोजेक्ट के पथ के साथ कार्य के नाम को उपसर्ग करते हैं जो इसका है :projectB:B
।
और आउटपुट है:
> gradle -q B
Hello from A
Hello from B
कार्य ऑब्जेक्ट का उपयोग करके निर्भरता जोड़ना
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
यह कार्य नाम का उपयोग करने के बजाय निर्भरता को परिभाषित करने का एक वैकल्पिक तरीका है।
और आउटपुट समान है:
> gradle -q B
Hello from A
Hello from B
कई निर्भरताएँ जोड़ना
आप कई निर्भरताएँ जोड़ सकते हैं।
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
अब आप निर्भरता के एक सेट को परिभाषित कर सकते हैं:
B.dependsOn A
C.dependsOn B
D.dependsOn C
आउटपुट है:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
अन्य उदाहरण:
B.dependsOn A
D.dependsOn B
D.dependsOn C
आउटपुट है:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
निर्भरता विधि के साथ एकाधिक निर्भरता
आप कई निर्भरताएँ जोड़ सकते हैं।
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D(dependsOn: ['B', 'C'] << {
println 'Hello from D'
}
आउटपुट है:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D