如何将Git分支名称作为依赖版本的pom.xml中的变量



我的问题是…我如何使用分支名称,我目前在作为版本的一部分,在我的项目依赖?

从这里开始。

我有三个分支。主人,阿尔法和贝塔。

在每一个下面都有一个被使用的公共依赖,叫做automation-jar.jar ....还有另外两个客户端项目使用该jar文件作为依赖项。

的例子:自动化-jar pom.xml文件

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

示例:客户端项目1 - pom.xml(使用automation-jar作为依赖项)

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

我可以使用指定的"branch.name"部署jar文件,没问题....我的问题是,我如何使版本快照足够通用,它不会在Git中导致合并冲突?

例如,如果我将<version>硬编码为master-SNAPSHOTAlpha-SNAPSHOT,则在合并分支时将导致冲突。

任何想法?

提前感谢!

尝试包含以下插件

<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>
    </plugins>
</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>

最新更新