से मेवेन प्रोजेक्ट संस्करण अपडेट करें सबसे पहले, मुझे कुछ समझ है कि निम्नलिखित चीजों को करने का आम तौर पर स्वीकार्य तरीका नहीं हो सकता है।स्क्रिप्ट
हमारे पास एक मेवेन 2 प्रोजेक्ट है जिसमें एक संस्करण संख्या है जिसे प्रत्येक सप्ताह या तो एक नई रिलीज के दौरान अपडेट किया जाना चाहिए। इस प्रक्रिया के दौरान, मैंने याद रखने वाली सभी चीजों को खत्म करने की कोशिश की है और मैंने एक बैश स्क्रिप्ट बनाई है जो प्रक्रिया को अंतःक्रियात्मक रूप से संभालती है।
हालांकि, मेरी समस्या कमांड लाइन से पोम संस्करण अपडेट कर रही है। मैं इसे sed के साथ कर सकता हूं लेकिन मुझे नहीं लगता कि यह बहुत सुविधाजनक है। मैं सोच रहा था कि क्या कोई मेवेन प्लगइन है जो सीधे कमांड लाइन से pom.xml को संशोधित करने में सक्षम होगा। संस्करण पोम के गुण खंड में सेट है। क्या एक प्लगइन लिखना संभव होगा जो गुणों को बदल देगा?
अग्रिम धन्यवाद।
अद्यतन
ऐसा लगता है कि मेरी समस्या परियोजना संस्करणों गुण (यह है कि जब छानने लागू किया गया) के रूप में परिभाषित है जो अब थोड़ा गूंगा लगता है के साथ किया गया था।
एक चीज जिसे मैं अभी भी एक उत्तर की तलाश में हूं, यह है कि कुछ परियोजना के संस्करण को कमांड लाइन पर विश्वसनीय रूप से कैसे प्राप्त किया जाए। पहले मेरे पास एक "सुंदर अनूठी" संपत्ति थी जिसे मैंने grep
का उपयोग किया था, लेकिन अब <version>
तत्व अद्वितीय नहीं है क्योंकि बाल परियोजना में कम से कम दो हैं। अगर मैवेन के पास कोई समाधान नहीं है, तो मुझे कुछ प्रकार के एक्सएमएल पार्सर की आवश्यकता होगी, लेकिन मेरा लक्ष्य स्क्रिप्ट को यथासंभव स्वतंत्र बनाना है।
मुझे यकीन नहीं है कि मुझे इससे एक नया प्रश्न बनाना चाहिए था, लेकिन मैंने नहीं किया। संस्करण प्राप्त करना संस्करण को सेटिंग से बहुत करीबी से संबंधित है।
धन्यवाद! मुझे उस प्लगइन को खुद ही मिला लेकिन किसी भी तरह से इस तथ्य को याद किया कि प्लगइन वास्तव में pom.xml को अपडेट कर सकता है और न केवल निर्भरताओं को प्रदर्शित करता है। संस्करण को सेट करना काम नहीं करता है क्योंकि संस्करण को मूल पोम में एक संपत्ति के रूप में परिभाषित किया गया है, जिसे मैंने उल्लेख नहीं किया था। हालांकि, मैंने पाया कि एक लक्ष्य "अद्यतन-गुण" है जो चाल कर सकता है। – mkko
स्पष्ट रूप से "अद्यतन-गुण" केवल निर्भरताओं को अद्यतन करने और किसी भी मान को सेट करने के लिए नहीं है। "संस्करण: सेट" निकटतम मैच है, लेकिन ऐसा लगता है कि मूल पोम में संस्करण को परिभाषित करने का कोई तरीका नहीं है - या कम से कम एक संपत्ति के रूप में। – mkko
@mkko: 1. आप वास्तव में ** माता-पिता पीओएम में संस्करण को हार्ड कोड और '' में बाल मॉड्यूल के तत्वों को देखना चाहिए, [एमएनजी -624] (http://jira.codehaus.org/browse/एमएनजी -624) इस विषय पर व्यापक चर्चाओं के लिए 2. निर्भरताओं को निर्मित संपत्ति '$ {project.version}' का उपयोग करना चाहिए, संस्करण के लिए संपत्ति का उपयोग करने के लिए कोई वैध कारण नहीं है। इस तरह यह मेवेन के साथ काम करता है। 3. और फिर आप 'संस्करण: सेट' का उपयोग करने में सक्षम होंगे (लेकिन यह चीजों को सही करने का अप्रत्यक्ष परिणाम है)। –