Maven是否可以根据Git分支名称动态设置项目名称?

时间:2014-03-04 21:21:36

标签: git maven maven-2 m2eclipse

如果我在Git存储库中有一个项目,就像这样:

  [project.git]/tests/pom.xml

该项目有2个分支,让我们说主人开发

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

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

所以,如果我想要调用项目:

developTests
masterTests

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

2 个答案:

答案 0 :(得分:2)

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

2。)这些只是想法: 将gmaven-plugin添加到您的pom并使用它来确定分支名称。在groovy-script结束时使用

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

将分支名称另存为属性。

接下来,转到文件导入 - 现有Maven项目,在高级部分中输入nametemplate:[project.git.branch] [artifactId]

我找到了groovy get branch example,也许你可以将这些部分组合在一起?

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

Import-Maven-Project

答案 1 :(得分:0)

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

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

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