2014-03-04 165 views
1

如果我有一个Git仓库的一个项目,像这样:Maven是否可以根据Git分支名称动态设置项目名称?

[project.git]/tests/pom.xml 

而该项目有2个分支机构,可以说发展

在这种情况下,我开发代码开发和我定期合并到

所以,我希望能够将我的Maven项目导入到Eclipse中(从相同的代码库),并让Eclipse命名项目彼此不同。如果我从两个分支导入项目,我希望Eclipse在Eclipse“项目浏览器”中向我展示2个不同的项目。

所以,如果我想有项目被称为:

developTests 
masterTests 

这是现实吗?这可以做到吗?我的pom.xml中的name属性可以是动态的,因此它可以检测分支名称并将其用作Eclipse中项目名称的一部分?

回答

2

1.)你试过EGit吗?它很好地显示分支。

2.)这些只是想法: 将gmaven-plugin添加到您的pom中并使用它来确定分支名称。在groovy脚本的末尾使用

project.properties['project.git.branch']=branchname; 

将您的分支名称保存为属性。

接下来,转到文件 - 导入 - 现有Maven项目,在先进的部分为nametemplate进入:[project.git.branch] [的artifactId]

我发现了一个groovy get branch example,也许你能适应部分组合在一起?

缺点:我很确定,eclipse项目名称不会动态更新。

Import-Maven-Project

+0

我会试试EGit,我会让你知道发生了什么。 – djangofan

0

不能通过Maven的做到这一点。要做到这一点,您需要更改artifactId(这是Eclipse将用来确定为该项目设置的名称)。这可能是一个坏主意,因为如果其他项目依赖于它,你也必须在那里改变它。

您也不能使用属性作为项目名称(artifactId),因为据我所知,您需要在插值之前设置该属性。

所以 - 不,我不认为你可以。