2013-10-24 5 views
13

हमारे पास एक पैकेज है जो हटाए गए कुछ आवश्यकताओं से संबंधित है, लेकिन हम कोड को जरूरी नहीं हटाना चाहते हैं क्योंकि भविष्य में फिर से इसकी आवश्यकता होगी। तो हमारे मौजूदा चींटी निर्माण में, हमने इस पैकेज को हमारे जार में संकलित करने से बाहर कर दिया है। ये वर्ग इस तथ्य के कारण संकलित नहीं होते हैं कि हमने उनकी निर्भरताओं को भी हटा दिया है, इसलिए उन्हें निर्माण में शामिल नहीं किया जा सकता है।ग्रेड: एक जार से एक विशेष पैकेज को कैसे बाहर निकालना है?

मैं Gradle में है कि कार्यक्षमता की नकल करने के इस प्रकार के प्रयास में हूँ:

jar { 
    sourceSets.main.java.srcDirs = ['src', '../otherprojectdir/src'] 

    include (['com/ourcompany/somepackage/activityadapter/**', 
       ... 
     'com/ourcompany/someotherpackage/**']) 

    exclude(['com/ourcompany/someotherpackage/polling/**']) 
} 
यहां तक ​​कि इसके बाद के संस्करण को बाहर कॉल के साथ

(और मैं वर्ग कोष्ठक के बिना यह कोशिश की है और साथ ही), Gradle अभी भी करने के लिए प्रयास कर रहा है polling कक्षाओं को संकलित करें, जो संकलन विफलताओं का कारण बन रहा है। मैं उस पैकेज को संकलित करने का प्रयास करने से ग्रैडल को कैसे रोकूं?

उत्तर

24

यदि आपके पास कुछ स्रोत हैं जिन्हें आप संकलित नहीं करना चाहते हैं, तो आपको जार में रखी गई क्लास फ़ाइलों के लिए स्रोतों के लिए फ़िल्टर घोषित करना होगा। कुछ की तरह:

sourceSets { 
    main { 
     java { 
      include 'com/ourcompany/somepackage/activityadapter/**' 
      include 'com/ourcompany/someotherpackage/**' 
      exclude 'com/ourcompany/someotherpackage/polling/**' 
     } 
    } 
} 
+1

धन्यवाद! पता था कि मैं वहां लक्ष्य पर काफी नहीं था :) – StormeHawke

+1

@ पीटर आपके उत्तर के लिए धन्यवाद। समस्या यह है कि कक्षा को नए संस्करण की अन्य निर्भरता में भी पाया गया था। मैं नए संस्करण का उपयोग करना चाहता हूं और कक्षा को पुराने संस्करण से बाहर करना चाहता हूं। – Achaius

22

आप इन पैकेजों को संकलित करने नहीं चाहता है, तो यह समाधान मान्य है, लेकिन आप इस्तेमाल कर सकते हैं यदि आप उन्हें संकलित करके उसे अपने जार से बाहर करना चाहते

// tag::jar[] 
jar { 
    exclude('mi/package/excluded/**') 
    exclude('mi/package/excluded2/**') 
} 
// end::jar[] 
+0

मेरी build.gradle फ़ाइल में जार लिखने में असमर्थ, क्या आप मुझे सुझाव दे सकते हैं कि मैं इसे कहां कोड कर सकता हूं, अग्रिम धन्यवाद। –

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

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