ग्रैडल नामक एक फोल्डर बनाता है .gradle
। क्या मुझे इसे अपने संस्करण नियंत्रण (यानी गिट) के साथ ट्रैक करना चाहिए?
अधिक महत्वपूर्ण बात, क्यों / क्यों नहीं?
ग्रैडल नामक एक फोल्डर बनाता है .gradle
। क्या मुझे इसे अपने संस्करण नियंत्रण (यानी गिट) के साथ ट्रैक करना चाहिए?
अधिक महत्वपूर्ण बात, क्यों / क्यों नहीं?
जवाबों:
क्या मुझे .gradle निर्देशिका को ट्रैक करना चाहिए?
नहीं। इसे सुरक्षित रूप से नजरअंदाज किया जा सकता है।
मुझे इसकी उपेक्षा क्यों करनी चाहिए?
यह विशुद्ध रूप से कैशिंग सूचना के लिए है, आप इसे अपने रेपो में नहीं चाहते क्योंकि:
यह मूल रूप से एक अस्थायी निर्देशिका है जिसे ग्रैड आपके स्रोत कोड के बीच में छोड़ रहा है (क्यों ग्रैडल को लगता है कि ऐसा करना एक उपयुक्त बात है) एक अलग सवाल है।
आप स्विच के नाम से निर्देशिका की "कैश डायरेक्टरी" प्रकृति को बता सकते हैं जो आपको इसे बदलने की सुविधा देता है: " --project-cache-dir "।
हालाँकि मुझे अपने स्रोत वृक्ष में बाइनरी फ़ाइलों से नफरत है, मैं आमतौर पर अपनी उपेक्षा फ़ाइल में निर्देशिका जोड़ना समाप्त करता हूं क्योंकि कहीं न कहीं लाइन के साथ मैं कुछ कमांड लाइन या मेरी आईडीई या कुछ और से स्विच का उपयोग करना भूल जाऊंगा वैसे भी निर्देशिका से निपटने के लिए।
मैं इसे कैसे अनदेखा करूं?
Git उपयोगकर्ताओं बस के साथ एक पंक्ति जोड़ सकते हैं .gradle
करने के लिए .gitgnore फ़ाइल और Git कि नाम के साथ किसी भी निर्देशिका में सभी फ़ाइलों को अनदेखी करेंगे।
Mercurial उपयोगकर्ता .hgignore फ़ाइल देखना चाहते हैं ।
अन्य संस्करण नियंत्रण प्रणालियों के लिए, दस्तावेज़ीकरण देखें - इन सभी का समर्थन करने के लिए एक सुविधा है।
.Gradle फ़ोल्डर में आपके gradle build (जैसे कैशेड आउटपुट / इनपुट जानकारी) के बारे में अलग-अलग गणना की गई जानकारी होती है। आपको निश्चित रूप से उस फ़ोल्डर को अपने संस्करण नियंत्रण प्रणाली में नहीं देखना चाहिए।
आपको .gradle फ़ोल्डर रखने की आवश्यकता नहीं है।
क्योंकि एक बार जब आप फिर से ग्रेडल बिल्ड कमांड निष्पादित करते हैं, तो आप लगभग उसी .ग्रेड फ़ोल्डर को फिर से बना सकते हैं।
लेकिन जब आप gradle.setting फ़ाइल को अंडरग्राउंड का उपयोग करते हैं। आपको प्रोजेक्ट के रूट फ़ोल्डर में ले जाने की आवश्यकता हो सकती है।
जब हम ग्रेडिंग शुरू करते हैं तो यह आपके होम डायरेक्टरी के अंदर .ग्रेडल फ़ोल्डर बनाता है। इसमें मूल (आपके सिस्टम के बारे में जानकारी) और कैश शामिल हैं। कैश में प्लगइन्स और अन्य सभी जार निर्भरताएं शामिल हैं।
जब हम उस समय पहली बार प्रोजेक्ट का निर्माण करते हैं, तो यह निर्भरता और प्लगइन्स को डाउनलोड करता है और उन्हें यहाँ चबाया जाता है। अगली बार जब हमें उनकी आवश्यकता होगी, तो यह यहाँ से मिलता है। यहां तक कि जब हमें कोड संकलित करने के लिए उन्हें ग्रहण करने की आवश्यकता होती है (=> ग्रहण ग्रहण), तो इसकी निर्भरता कैश से जोड़ी जाती है
जब आप अपडेल चलाएंगे तो यह अपडेट होता रहेगा और जुड़ता रहेगा। इसलिए मुझे लगता है कि हमने इसे संस्करण नियंत्रण में नहीं जोड़ा है।
मैं ग्रैडल के लिए नया था और मैंने सोचा था कि .gradle फ़ोल्डर में सामान्य जानकारी जैसे कि निर्भरता मैपिंग आदि होगी और इसे संस्करण नियंत्रण पर अपलोड किया जाएगा। फिर मैंने एक अलग OS स्वाद और जावा संस्करण के साथ एक नई मशीन स्थापित करने की कोशिश की। जो कि .gradle फ़ोल्डर सहित संस्करण नियंत्रण से कोड का उपयोग करके त्रुटियों में भाग गया। पता चला है कि .gradle फ़ोल्डर में मशीन विशिष्ट जानकारी होती है और इसका उपयोग स्थानीय पर कैशिंग के लिए किया जाता है। संस्करण नियंत्रण में .gradle फ़ोल्डर को शामिल न करें और कोड के साथ एक नई मशीन स्थापित करने का प्रयास करें, ग्रेडल डेमॉन बाकी काम करेगा।