मेरे पास एक बहु मॉड्यूल मैवेन प्रोजेक्ट है और मैं सभी प्रोडोड्यूल को निष्पादित करने के बाद एक ऑपरेशन (एंट्रून) चलाने में सक्षम होना चाहता हूं।मेवेन मल्टी-मॉड्यूल प्रोजेक्ट - सभी सबोडोड्यूल समाप्त होने के बाद ऑपरेशन कैसे चलाएं
मेरी परियोजनाओं में मैं प्रत्येक उप-मॉड्यूल से आरपीएम बनाता हूं और तैनाती चरण में मैं आरपीएम (एसएसएच द्वारा) को आरपीएम रिपोजिटरी में कॉपी करता हूं।
आरपीएम रेपो के लिए मुझे नए आरपीएम जोड़ने के बाद एक निर्मित कमांड चलाने की आवश्यकता है ताकि वह उन्हें अनुक्रमित कर सके।
तो मेरे पास एक एंट्रून है जो वास्तव में स्कैन चलाता है और RPM को रेपो में कॉपी करता है। यह प्रत्येक सबमिशन के लिए चलता है जो वास्तव में एक आरपीएम उत्पन्न करता है और पर चरण तैनात करता है। मैं क्या कर सकता हूं प्रत्येक scp buildrepo कमांड चलाने के बाद, लेकिन यह अपमानजनक होगा, मेरे पास 10 से अधिक सबोड्यूल्यूल हैं और प्रत्येक createrepo में लगभग एक मिनट लगते हैं इसलिए मैं कीमती निर्माण समय बर्बाद कर दूंगा।
मैं जो करना चाहता हूं वह सब सबोडोड्यूल समाप्त होने के बाद है, फिर createrepo चलाएं। एक बार।
मेरा पहला प्रयास एंट्रून को हुक करना था जो मूल पोम (सुपर-पोम) पर createrepo कमांड को चरण तैनात करता है। मैंने ऐसा किया और समस्या यह थी कि माता-पिता के तैनाती चरण से पहले submodules 'तैनाती चरण चलाता है। मैं चाहता था कि
के बाद मैं किसी अन्य बाद के चरण में createrepo antrun संलग्न नहीं कर सकता क्योंकि तैनाती चरण जीवन चक्र में आखिरी है।
तो मेरा सवाल यह है कि: "क्लीनअप" एंट्रून या सामान्य रूप से एक प्लगइन चलाने का कोई तरीका है जो सभी पनडुब्बियों के सभी निर्माण संचालन सफलतापूर्वक समाप्त होने के बाद एक बार निष्पादित हो जाएगा?
इसके चारों ओर एक हैक एक और सबमिशन तैयार करना होगा और सुनिश्चित करें कि यह अन्य सभी मॉड्यूल पर निर्भर करता है और इस मॉड्यूल के तैनाती चरण से createrepo चलाता है। लेकिन यह बदसूरत और बनाए रखने के लिए मुश्किल है। मैं एक क्लीनर समाधान पसंद करते हैं।
धन्यवाद
Maven संस्करण 2.2.1
क्या आप एक अच्छे समाधान के साथ आए थे? –