2010-05-12 20 views
7

मेरे पिछले प्रश्न के संबंध में ->Is there a SVN Maven?, मैं गर्त उपयोग पेज चला गया ->http://maven.apache.org/scm/maven-scm-plugin/usage.html नहीं मिला था कि मैं के लिए काफी क्या देख रहा था, यहाँ मैं क्या करना चाहते हैं क्या:Maven SVN चेकआउट उदाहरण

  • चेकआउट सूची परियोजनाओं जो मैं पूर्व के लिए निर्दिष्ट की:

http://mysvnurl/myprojectname जहाँ मैं इस परियोजना का नाम parametrize सकता

तो कहते हैं की सुविधा देता है, अगर वहाँ 3-4 या n उप-परियोजनाओं की संख्या (मॉड्यूल) (जो मैं कर सकते हैं के लिए रों नामों को भी शांत करें) कि मैं चेकआउट करना चाहता हूं, और मैं शाखा (ट्रंक) और संशोधन निर्दिष्ट कर सकता हूं। सरल करने के लिए: myprojectname की

  • चेकआउट कुछ उप-परियोजनाओं (मॉड्यूल) ट्रंक

पूर्व:

http://mysvnurl/myprojectname/project1/trunk/ * // प्राप्त सब कुछ
http://mysvnurl/myprojectname/project2/trunk/ * // प्राप्त सब कुछ

मैवेन के साथ मैं ऐसा कैसे करूं, क्या कोई और व्यय वाला व्यक्ति समझा सकता है कि यह कैसे करें या मुझे कहीं कहीं इंगित करें जहां मैं पढ़ सकता हूं कि कैसे, मैंने नहीं किया मेरी जरूरतों के अनुरूप विशिष्ट है।

धन्यवाद

उत्तर

8

Maven SCM Plugin है कि मैं अपने पिछले प्रश्न में उल्लेख किया अर्थ में SvnAnt कार्य के लिए एक विकल्प है कि यह एक सबवर्सन भंडार (अन्य लोगों के) के साथ बातचीत करने की अनुमति देता है से करना मेवेन या प्लगइन्स (रिलीज प्लगइन की तरह)। लेकिन मुझे लगता है कि मैं याद करता हूं कि आप वास्तव में क्या करना चाहते हैं।

तो चलो यहाँ इस प्रश्न के लिए वापस जाओ, चलो है कि कैसे आप CLI पर scm:checkout इस्तेमाल कर सकते हैं:

mvn scm:checkout -DconnectionUrl=scm:svn:https://svn.dev.java.net/svn/glassfish-svn/trunk/v3 -DcheckoutDirectory=v3 

और हम एक पोम में यह सब डाल और प्लगइन का configuration में इन मानकों की घोषणा कल्पना कर सकता (या कई यूआरएल को संभालने की जरूरत है तो कई execution में)। और वैकल्पिक रूप से, आप कुछ excludes या includes के साथ भी खेल सकते हैं (जिन्हें अब सम्मानित किया गया है, SCM-526 देखें)।

... 
<execution> 
    <id>perform-checkout</id> 
    <configuration> 
    <connectionUrl>myUrl</connectionUrl> 
    <checkoutDirectory>myDirectory</checkoutDirectory> 
    <excludes>folder1/*,folder2/*</excludes> 
    </configuration> 
    <phase><!-- some phase --></phase> 
    <goals> 
    <goal>checkout</goal> 
    </goals> 
</execution> 
... 

लेकिन मैंने इसे कभी ऐसा नहीं किया है। बस मामले में, शायद scm:bootstrap पर एक नज़र डालें, जिसका उपयोग आप कम से कम POM से प्रोजेक्ट बूटस्ट्रैप करने के लिए कर सकते हैं (Bootstrapping a Project Using a POM देखें)। लेकिन दोनों मामलों में, मुझे 100% यकीन नहीं है कि ये लक्ष्य आपके द्वारा खोजे जा रहे स्वचालन के स्तर को प्रदान करने के लिए हैं।

और जितना अधिक मैं आपके प्रश्न को देखता हूं, उतना ही मुझे लगता है कि svn:externals (यानी।एक सबवर्सन सुविधा) जो आप के बाद हैं। मैं एक ही कमांड में एकाधिक ट्रंक के साथ जटिल परियोजनाओं के चेकआउट करने के लिए उपयोग करता हूं।

1

क्या आपकी परियोजना निम्नलिखित की तरह व्यवस्थित है?

root (pom.xml) 
    +--- Module1 (pom.xml) 
    +--- Module2 (pom.xml) 

आप एक multimodule निर्माण है?

पहली बात यह है कि आप मेवेन के माध्यम से चेकआउट क्यों करना चाहेंगे? चलो बिल्ड सर्वर इस काम या अपने आईडीई ...

+1

@khmarbaise क्या आपके पास एक बहुआयामी निर्माण है? - हाँ, पहली बात यह है कि आप मेवेन के माध्यम से चेकआउट क्यों करना चाहेंगे? - क्योंकि मैं प्रक्रिया को स्वचालित करना चाहता हूं। – ant

+0

ठीक है। एक बहुआयामी निर्माण सीआई के लिए हडसन के माध्यम से चेकआउट आउट हो या आप एक ही कमांड के साथ पेड़ को चेकआउट करें। मेवेन में ऐसा करने की कोई ज़रूरत नहीं है .. क्या मैं एक चीज़ की निगरानी कर सकता हूं ... – khmarbaise

+0

@khmarbaise बात यह है कि मैं कुछ उप मॉड्यूल को देखना चाहता हूं, सभी – ant

3

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

+0

हाय। तो क्या आपको इस समस्या का समाधान मिला है? – aindl

+0

नहीं। मैंने बहु-मॉड्यूल निर्माण पर छोड़ दिया जब मैंने पाया कि मैवेन वास्तव में गिट सबमिड्यूल होने पर मैन्युअल रूप से बहु-मॉड्यूल रिलीज़ नहीं करेगा। गिट ऑपरेशन गलत हैं। मैंने कुछ महीने पहले इसे छोड़ दिया, इसलिए मुझे ब्योरा याद नहीं है। इसलिए हम मॉड्यूल (उनमें से 10) को अलग-अलग बनाते हैं और छोड़ देते हैं। – GrampaJohn

संबंधित मुद्दे