मैं अपनी परियोजना (वेल्ड) के लिए मेवेन 2 आर्केटीप्स बना रहा हूं। archetype:generate
के दौरान परिभाषित संपत्ति के मूल्य के आधार पर जेनरेट की गई परियोजना में कौन सी फाइलें रखी गई हैं, इसे नियंत्रित करने में सक्षम होना चाहूंगा।प्रोजेक्ट जेनरेट होने पर मैं एक आर्केटाइप से फ़ाइल को सशर्त रूप से शामिल या बहिष्कृत कैसे करूं?
Define value for groupId: : com.example
Define value for artifactId: : myproject
Define value for package: com.example: :
Define value for includeGradleSupport: : y
includeGradleSupport का मूल्य के आधार पर, मैं शामिल करने के लिए (या शामिल नहीं) उत्पन्न परियोजना में build.gradle
फ़ाइल हैं: उदाहरण के लिए, मैं निम्नलिखित शीघ्र पूर्वानुमान। यदि उपयोगकर्ता ग्रैडल समर्थन नहीं चाहता है, तो मैं जेनरेटेड प्रोजेक्ट को अनावश्यक फ़ाइलों के साथ अव्यवस्थित नहीं करना चाहता हूं।
एक और उदाहरण यह है कि यदि जेटी समर्थन चाहता है तो मुझे जेटी वेब खंड (शायद श्रोता को सक्रिय करने के लिए) प्रदान करने की आवश्यकता हो सकती है।
डेवलपर का उपयोग करने के इरादे के आधार पर परियोजना के अनुकूलन के बारे में यह सब कुछ है। जबकि मैं एक पूरी तरह से अन्य archetype बना सकता है, कभी-कभी परिवर्तन इतने मामूली होते हैं कि फ़ाइल को शामिल/बहिष्कृत करना आसान होगा।
archetype-metadata.xml
वर्णनकर्ता का उपयोग कर इस व्यवहार को नियंत्रित करने का कोई तरीका है?
इस मुद्दे के अनुसार: http://jira.codehaus.org/browse/ARCHETYPE-58 यह सुविधा इसके रास्ते पर है। अब हमें इसके लिए कुछ दस्तावेज़ देखने की जरूरत है (यह कितना समय इंतजार कर सकता है?) –
मैंने थोड़ी देर के लिए एक परियोजना पर काम किया जो इस तरह के व्यवहार के लिए प्रोफाइल का इस्तेमाल करता था और यह बुरी तरह से चला गया और हमारे निर्माण और पोम्स बेहद जटिल थे। हम अंत में निष्कर्ष पर पहुंचे कि एक नई परियोजना संरचना स्थापित करने के लिए सबसे अच्छी बात यह है कि हमारा मुख्य आवेदन कोड जारड हो गया था और फिर विभिन्न तैनाती विन्यास पूरी तरह अलग थे जो मुख्य परियोजना पर निर्भरता रखते थे। यह बहुत सारे निर्माण और परियोजनाएं बनाता है लेकिन वे सभी सरल और आसान बनाए रखने के लिए आसान हैं और एक आर्टिफैक्ट है। –