2017-08-02 33 views
0

我使用Maven,eGit和TestNG插件运行Eclipse,并运行针对SauceLabs的测试。如何在Eclipse运行配置中获取当前Git分支名称

我想在Maven运行配置中获取项目的当前Git分支名称,以便我的代码可以在运行时看到它并正确命名SauceLabs会话。

在运行配置的典型电流Maven目标线是这样的:

-DtestNG.suiteXmlFile="config/regress_saucelabs.xml" clean -X test 

我希望能够写类似下面的代替:

-DtestNG.suiteXmlFile="config/regress_saucelabs.xml" -Dgit.branch=$ECLIPSE_GIT_BRANCH clean -X test 

其中ECLIPSE_GIT_BRANCH是在使用运行配置时被替换的Eclipse变量。

运行时解决方案是最后的手段,因为测试代码还需要在源代码库不可用的环境中运行。

强烈希望在构建时在Maven命令行上注入分支名称。把它作为POM变量也可以。

回答

1

我从来没有使用它,但它看起来像JGit是你在找什么(https://doc.nuxeo.com/blog/jgit-example/

另一种解决方法是调用shell命令git branch在Java中,然后分析结果。

使用Maven插件另一种解决方案是在这里解释:Put current git branch to project version

+0

谢谢,我会用这个,如果我不能得到任何东西,解决了在构建时的问题。 –

+0

@DanHankins我用另一个解决方案更新了我的答案,如果你真的不想用Java代码来做它 – jeanr

+0

谢谢。尝试过,但不能从Eclipse Maven运行配置中运行。该壳不可用。 –

相关问题