2012-03-31 21 views
5

मैं जार को अपना रास्ता बनाने के लिए मजबूर करने की कोशिश कर रहा हूं। मैं अपने खुद के Gradle कार्य (अलग वर्ग) यह करने के लिए लिखा था और अब मैं इतना है कि, इसके साथ डिफ़ॉल्ट jar काम बदलना चाहते हैं:ग्रैडल 'जार' कार्य को सही तरीके से कैसे बदला जाए?

  • संग्रह हमेशा अपने नए कार्य के साथ और कभी पुराने jar साथ उत्पन्न होता है कार्य
  • अपने नए कार्य डिफ़ॉल्ट jar कार्य के रूप में अन्य कार्यों के साथ एक ही रिश्ता है - build कार्य इसे इस्तेमाल करता है यह classes काम पर निर्भर करता है, आदि
  • मैं अपने काम की तरह लागू किया जा करने के लिए नहीं होता है जब यह UP-TO-DATE है (बस डिफ़ॉल्ट jar की तरह)

मैं ऐसा करने के लिए संघर्ष कर रहा हूं और मुझे इसे प्राप्त करने में बहुत परेशानी हो रही है। उदाहरण के लिए, मैं हमेशा अपने नए कार्य का उपयोग करने के लिए build कार्य को मजबूर करने में असमर्थ था।

अगर कोई मुझे कम से कम समर्थन दे सकता है तो मैं वास्तव में इसकी सराहना करता हूं।

उत्तर

2

यह काम करना चाहिए:

jar { 
    // reset actions 
    actions = [] 
    // add your action that performs the work based 
    // on the configuration (e.g. 'source') of this task 
    doLast { ... } 
} 
+0

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

+1

यदि आप '--info' के साथ चलते हैं, तो ग्रैडल आपको बताएगा कि यह क्यों सोचता है कि कार्य अद्यतित नहीं है। –

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