2013-08-08 6 views
5

मेरे पास एक स्नातक बहु-परियोजना निर्माण है।ग्रैडल निर्भरताएं - नवीनतम स्नैपशॉट

एक प्रोजेक्ट में, मैंने अन्य जारों पर कुछ निर्भरताओं को परिभाषित किया है, और हमेशा '+' का उपयोग जेएआर के नवीनतम संस्करण पर निर्भर करने के लिए किया है।

runtime group:'com.app', name: 'core', version: '+' 

यह महान काम करता है, और किसी भी समय मैं मूल परियोजना का एक संस्करण को फिर से बनाने के लिए, इस परियोजना के नवीनतम JAR अपेक्षा के अनुरूप ऊपर उठाता है।

हालांकि, यह केवल तब काम करता है जब मैं स्पष्ट रूप से एक संस्करण के साथ जार का निर्माण करता हूं - लेकिन स्नैपशॉट बिल्डों को नहीं उठाया जाता है।

उदाहरण के लिए, अगर मैं core-1.0.1.jar है तो अपने प्रोजेक्ट का उपयोग करता है, तो मैं core-1.0.2.jar का निर्माण और परियोजना है कि नए जार अप pcik जाएगा, हालांकि अगर मैं तो core-SNAPSHOT.jar तरह जार का एक स्नैपशॉट संस्करण बनाने, तो परियोजना का उपयोग कर रहता है 1.0.2 संस्करण।

(मुझे पता है कि स्नैपशॉट्स पर निर्भर रहने के लिए यह अच्छा नहीं है - लेकिन मैं इसे अपने सीआई सर्वर के साथ क्रमांकित संस्करणों के निर्माण और रेपो में स्थापित करने के साथ चलाऊंगा, लेकिन जब देव में मैं एडॉक स्नैपशॉट बिल्ड बनाने में सक्षम होना चाहता हूं और कॉन्फ़िगरेशन को बदलने के बिना उनका उपयोग करने में सक्षम हो)

क्या यह संभव है? मुझे ऐसा करने के बारे में कोई जानकारी नहीं मिली है?

उत्तर

3

आम तौर पर, स्नैपशॉट्स में हमेशा एक संस्करण संख्या शामिल होती है (उदा। 1.0.3-SNAPSHOT)। मुझे लगता है कि यह इसे उठा नहीं रहा है क्योंकि यह खड़ा है, SNAPSHOT को 1.0.2 से कम संस्करण माना जाता है।

+0

ठीक है, धन्यवाद - मुझे यह स्थानीय स्तर पर काम करने के लिए लगता है मुझे किसी प्रकार का हैक डालना होगा जिससे देव सिर्फ 999-स्नैपशॉट या कुछ बनाता है ताकि इसे हमेशा नवीनतम के रूप में लिया जा सके? – rhinds

+2

यदि आप मेवेन स्नैपशॉट्स का उपयोग करते हैं, तो उन्हें मैवेन वे (x-SNAPSHOT संस्करण x की ओर काम करते समय) में उपयोग करना सबसे अच्छा है। एक विकल्प है कि प्रत्येक संस्करण पर संस्करण को टक्कर देना और नवीनतम संस्करण का चयन करने के लिए '+' (या 'gradle 1.8 में 'नवीनतम.in एकीकरण' का उपयोग करें। –