जावा कम्पाइलर वृद्धिशील निर्माण प्रदान करता है, इसलिए javac चींटी कार्य के रूप में अच्छी तरह से। लेकिन अधिकांश अन्य प्रक्रियाएं नहीं होती हैं।चींटी के साथ सामान्य रूप से आलसी या वृद्धिशील निर्माण को कैसे कॉन्फ़िगर करें?
निर्माण प्रक्रियाओं को ध्यान में रखते हुए, वे फ़ाइलों के कुछ सेट (स्रोत) को फ़ाइलों (लक्ष्य) के दूसरे सेट में बदल देते हैं।
मैं अलग दो यहाँ मामलों कर सकते हैं:
- ट्रांसफार्मर नहीं स्रोत फ़ाइलों का एक सबसेट, केवल पूरे सेट ले सकते हैं। यहां हम केवल आलसी बिल्ड बना सकते हैं - यदि स्रोत से कोई भी फाइल संशोधित नहीं की गई - हम प्रसंस्करण को छोड़ देते हैं।
- ट्रांसफार्मर स्रोत फ़ाइलों का एक सबसेट ले सकता है और आंशिक परिणाम - वृद्धिशील बिल्ड बना सकता है।
आलसी, वृद्धिशील निर्माण को लागू करने के लिए चींटी आंतरिक, तृतीय-पक्ष एक्सटेंशन या अन्य टूल क्या हैं? क्या आप कुछ व्यापक बिल्डफाइल उदाहरण प्रदान कर सकते हैं?
मुझे विशेष रूप से जीडब्ल्यूटी कंपाइलर के साथ काम करने में दिलचस्पी है।
लेकिन निश्चित रूप से यह संभव हो सकता है कि कि एक GWT मॉड्यूल के उत्पादन को प्रभावित करता है कोई कोड बदल गया है, और इसलिए मॉड्यूल फिर से संकलन की जरूरत नहीं होगी। आउटपुट को प्रभावित करने वाले परिवर्तन पेड़ –
@Andrew No में आवश्यक कुछ भी शामिल नहीं हैं। चूंकि जीडब्ल्यूटी कंपाइलर इस्तेमाल किए गए सभी कोड को हटा देता है। तो यदि आप उस मॉड्यूल से किसी विधि का उपयोग करना शुरू करते हैं तो यह उपलब्ध नहीं होगा। इसके अलावा वास्तविक वास्तविक जावास्क्रिप्ट उत्पन्न होने से पहले इनलाइन ऑप्टिमाइज़ेशन होता है। शायद मध्यवर्ती परिणामों को कैश करना संभव होगा, लेकिन मुझे यकीन नहीं है कि यह कुशल होगा, क्योंकि उन परिणामों को फिर से व्याख्या करने और डिस्क में पढ़ने/लिखने की आवश्यकता है, इसे स्मृति में रखने के बजाय। –
लेकिन अगर कोई जावा स्रोत (जिसका उपयोग जेएस आउटपुट जेनरेट करने के लिए किया जाता है) पिछले संकलन के बाद बदल गया है, तो कुछ भी, अनुकूलन और इनलाइनिंग और कोड हटाने को शामिल करने की कोई आवश्यकता नहीं है ..... –