2011-04-05 15 views
10

मुझे एक गिट रेपो मिला है जहां शीर्ष स्तर की निर्देशिका में तीन निर्देशिकाएं हैं: जावा, COM, और csharp। जैसा कि आप अनुमान लगा सकते हैं, pom.xml जावा निर्देशिका में रहता है।मेवेन रिलीज प्लगइन, गिट, और पोम शीर्ष पर नहीं है

सभी ठीक है जब तक मैं रिलीज प्लगइन चलाने के लिए नहीं जाता। यह संपूर्ण रेपो को लक्ष्य/चेकआउट में क्लोन करता है, और फिर उम्मीद है कि पोम शीर्ष पर वहां सही होगा। यह नहीं है कहानी का अंत।

क्या मैं अतिरिक्त निर्देशिका के बारे में रिलीज प्लगइन बता सकता हूं, या क्या मुझे रेपो को विभाजित करना है?

+0

अनचाहे: शायद pomFileName आपका दोस्त है? – Bittrance

उत्तर

18

परीक्षण: अपने निर्माण/plugins अनुभाग के लिए निम्नलिखित जोड़ें:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <version>2.2.1</version> 
    <executions> 
     <execution> 
      <id>default</id> 
      <goals> 
       <goal>perform</goal> 
      </goals> 
      <configuration> 
       <pomFileName>subdir/pom.xml</pomFileName> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

कहाँ "subdir" निर्देशिका जहां pom.xml रहता है के सापेक्ष पथ है।

यह कम से कम मेवेन 3.0.3 के साथ काम करता है। विभिन्न रिलीज प्लगइन संस्करणों के साथ काम कर सकते हैं, लेकिन यह untested है।

यह मेवेन 3.0.4 और मेवेन-रिलीज-प्लगइन 2.5 और गिट 1.8.x के साथ काम करता है।

+0

मेवेन 2.2.1 पर भी काम करता है (मेवेन-रिलीज-प्लगइन के साथ: 2.2.1)। लेकिन हमें 'निष्पादन' पदानुक्रम के तहत 'pomFileName' को परिभाषित क्यों करना है और सीधे' कॉन्फ़िगरेशन 'के अंतर्गत नहीं। कॉन्फ़िगरेशन की एक पंक्ति के लिए बहुत सारी चीजें हैं? –

+0

खैर, कारण मैंने इसे 'निष्पादन' के तहत रखा था, कॉन्फ़िगरेशन को विशिष्ट लक्ष्य पर लक्षित करना था। यदि आप सुनिश्चित हैं कि यह अन्य लक्ष्यों में हस्तक्षेप नहीं करेगा, तो शायद यह सीधे 'कॉन्फ़िगरेशन' में काम करेगा। – sunspot

+0

हालांकि यह maven 3.0.4 के साथ काम करता प्रतीत होता है, यह गिट भंडार में परिवर्तन नहीं करता है। नवीनतम रिलीज प्लगइन का उपयोग करना परिवर्तन करता है, लेकिन pomFileName कॉन्फ़िगरेशन को पहचान नहीं करता है। – fortuna

2

परफॉमिंग रिलीज मैवेन-रिलीज-प्लगइन संस्करण 2.4 (मेवेन 3.0.3 और 3.0.4 दोनों के साथ) के साथ रूट निर्देशिका में ठीक से तैनात नहीं किया गया था। मेवेन-रिलीज-प्लगइन संस्करण 2.2.1 को डाउनग्रेड करने से समस्या ठीक हुई।

+0

मेवेन 3.0.4 का उपयोग करके, यह संस्करण 2.1 के साथ भी काम नहीं करता (सोनाटाइप ओएसएस पोम से विरासत में मिला)। मुझे 2.2.1 का भी उपयोग करना पड़ा। –

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