मेरे पास कोड है:

task instalNodeModules { 
   doLast {
      npmInstall.execute()
      installGulp.execute()
   }
}

task runTasks {
   doLast {
      instalNodeModules.execute()
      gulpBuildWithOpts.execute()
   }
} 

ग्रैडल 4.5.1 इसके बारे में चेतावनी देता है:

TaskInternal.execute() विधि को हटा दिया गया है और शेड्यूल किया गया है ग्रैडल 5.0 में हटाया जाना है। कार्य का पुन: उपयोग करने के बेहतर तरीके हैं तर्क, देखें https://docs.gradle.org/4.5.1/ userguide/custom_tasks.html#sec:reusing_task_logic

लेकिन लिंक मुझे कोई संकेत नहीं देता है कि मैं इसे कैसे बदल सकता हूं क्योंकि मैं केवल कार्य निर्भरताओं को सेट नहीं कर सकता जैसे निर्भर करता है या finalizdBy - इसे अन्य कार्य से नहीं बल्कि निर्माण के अंत से कहा जाता है।

1
Vadym Chornyi 25 अप्रैल 2018, 13:32

1 उत्तर

सबसे बढ़िया उत्तर

आपको execute विधि को सीधे कॉल नहीं करना चाहिए, बल्कि अपने कार्य निर्भरता को मॉडल करना चाहिए। यह ग्रेडेल को अप-टू-डेट जांच करने और केवल आवश्यक कार्यों को निष्पादित करने की अनुमति देता है।

task runTasks {
   dependsOn installNodeModules
   dependsOn gulpBuildWithOpts
} 
1
Eloff 27 अप्रैल 2018, 12:22