多模块项目中的maven-release-plugin,每个模块都有一个单独的git存储库

问题描述 投票:3回答:2

我想知道是否可以在多模块项目中使用maven-release-plugin,其中每个模块都有自己的git存储库?像这样的东西:

parent/
  .git/
  pom.xml
module1/
  .git/
  pom.xml

我设置了一个简单的测试(在linux下)并且它失败了“git add”命令(简称):

cd parent && git add -- pom.xml /.../module1/pom.xml

错误消息是

fatal: /.../module1/pom.xml: '/.../module1/pom.xml' is outside repository

据我所知,这个git命令无法正常工作。 maven-release-plugin是否能够为每个存储库执行单独的“git add”命令?

只是对于这种情况,答案是否定的:假设我只有一个git存储库。我使用平面层次结构还是嵌套层次结构是否重要?

是否还有其他选项可用于自动版本控制/发布和保留多个git存储库?

git maven-release-plugin
2个回答
1
投票

自从maven-release-plugin 2.0-beta-5以来,他们添加了一个名为commitByProject的新属性,在我的情况下(恰好是你的情况)让我们为每个项目提交每个子模块(使用'git submodule add'策略从root pom引用)。这就完成了工作!!

mvn release:prepare -DcommitByProject = true


0
投票

您可以使用git子模块在git存储库中包含其他git存储库。但是如果你的module1通过maven依赖于parent(即<parent>或者parent具有dependencyManagement),那么似乎module1并不是一个独立的模块,在我看来不应该拥有它自己的存储库。

关于层次结构我更喜欢嵌套的更容易看到父和模块。

© www.soinside.com 2019 - 2024. All rights reserved.