2016-10-03 87 views
0

所以我的問題是......我如何使用我當前所在的分支名稱作爲項目中依賴項版本的一部分?如何讓Git分支名稱作爲依賴版本的pom.xml中的變量

從這裏開始是我的。

我有三個分支。主人,Alpha和Beta。

在其中每一個都有一個常用的依賴項被稱爲automation-jar.jar ....還有兩個其他客戶端項目使用該jar文件作爲依賴項。

例: 自動化-JAR pom.xml文件

<groupId>com.example.jarfile</groupID> 
<artifactId>example-jar</artifactId> 
<version>${branch.name}-SNAPSHOT</version> 

例如:客戶項目1 - pom.xml中(使用自動化-JAR的依賴)

<dependency> 
    <groupId>com.example.jarfile</groupID> 
    <artifactId>example-jar</artifactId> 
    <version>${branch.name}-SNAPSHOT</version> 
</dependency> 

我可以部署jar文件與指定的「branch.name」沒有問題....我的問題是,我怎麼讓版本快照足夠通用,它不會導致Git中的合併衝突?

例如,如果我將<version>硬編碼爲master-SNAPSHOTAlpha-SNAPSHOT,合併分支時會引起衝突。

任何想法?

在此先感謝!

回答

2

嘗試包括以下插件

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>buildnumber-maven-plugin</artifactId> 
      <version>1.4</version> 
      <executions> 
       <execution> 
        <phase>validate</phase> 
        <goals> 
         <goal>create</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
</build> 

然後你可以使用$ {} scmBranch爲BRANCHNAME

http://www.mojohaus.org/buildnumber-maven-plugin/usage.html

<dependency> 
    <groupId>com.example.jarfile</groupID> 
    <artifactId>example-jar</artifactId> 
    <version>${scmBranch}-SNAPSHOT</version> 
</dependency>