2013-06-18 16 views
5

Bir git commit kanca kullanarak git işlemini bir pom.xml dosyasını otomatik olarak güncelleyebilmemin bir yolu var mı?Yeni bir şube işleyen herkesin pom.xml'ye yansıyan değişikliklere sahip olduğundan nasıl emin olunur?

Yapmak istediğim, eski sürümün tüm örneklerini, şube adına dayalı yeni sürümüyle değiştirmek istiyorum. Örneğin,

.

Ben ustadan kontrol ederse benim pom.xml'Bu bulabilir ben yapmak istiyorum ne

<dependancy> 
    <groupId>com.mycompany</groupId> 
    <artifactId>my_component</artifactId> 
    <version>master-SNAPSHOT</version> 
</dependancy> 

veya

<groupId>com.mycompany.project</groupId> 

    <artifactId>mainProject</artifactId> 
    <version>master-SNAPSHOT</version> 
    <name>mainProject</name> 

, herkes yeni bir taahhüt kim emin olmaktır dal, pom.xml'de yansıyan yeni dallara sahip. Ben "myNewBranch" adlı kalıp temelinde yeni bir şube oluşturursanız Yani, pom.xml otomatik olarak güncellenir istiyorum şunlardır:

<dependancy> 
    <groupId>com.mycompany</groupId> 
    <artifactId>my_component</artifactId> 
    <version>myNewBranch-SNAPSHOT</version> 
</dependancy> 

veya

<groupId>com.mycompany.project</groupId> 

    <artifactId>mainProject</artifactId> 
    <version>myNewBranch-SNAPSHOT</version> 
    <name>mainProject</name> 
+0

İhtiyaçlarınızı anlasa bile, her bir pom.xml aynı satırda değiştirileceğinden, bu iki dal arasında ağrılı birleşme olabilir. –

+0

@noahlz Bu hile yapar gibi görünüyor. Git dalı adını bir değişken olarak nasıl çekerim? – Avik

+0

@GuillaumeDarmont şu anda el ile yapıyoruz, bunu otomatikleştirmek istiyorum. – Avik

cevap

2

Yapman gereken arıyoruz Çekirdek Maven veya Maven SCM plugin tarafından "kutunun dışında" sağlanan bir şey.

Bunu programlı elde (veya oluşturur) How to programmatically determine the current checked out Git branch uyarınca şube adını-taahhüt sonrası üzerinde çalışan bir kabuk yazmak zorunda ve sonra özel bir Maven'i yapmak gibi mvn versions:set Ayrıca yapabilirdi

şey çağırır edeceğiz Bunu yapmak için eklenti veya maven-ant-run yürütme, ama bence komut yaklaşımı sizin için en az direnç yoludur.

İlgili konular