我在 git 存储库中有一个项目 - baseProject ,其中包含一堆模块和子模块。 .git 文件仅存在于 baseProject 中。 我想制作具有工作标准“标签”功能的 maven-release 插件。 这是示例项目结构:
baseProject
+-- pom.xml (baseProject:1.0-SNAPSHOT)
!
+-- module1
! +-- pom.xml (module1:1.0-SNAPSHOT)
!
+-- module2
+-- pom.xml (module2:1.0-SNAPSHOT)
!
!-- submodule1
+-- pom.xml (submodule1:5.0-SNAPSHOT)
!
+-- submodule2
+-- pom.xml (submodule2:2.0-SNAPSHOT)
!
+-- submodule3
+-- pom.xml (submodule3:3.0-SNAPSHOT)
从在不同地方找到的示例来看,我可以在baseProject.pom中执行此操作
<scm>
<connection>scm:git:ssh://url-to-git.com/baseProject.git</connection>
<url>scm:git:ssh://url-to-git.com/baseProject.git</url>
<developerConnection>scm:git:ssh://url-to-git.com/baseProject.git</developerConnection>
</scm>
但这不适用于子模块级别。例如:模块 1 或子模块 2。 我想使用 mvn release:prepare 和 mvn release:perform 来标记和发布
注意:这些不是 git 子模块,而是由项目中的 maven 生成的。
请帮忙!
我们遇到了同样的问题,并且找到了解决方法:将完全相同的
scm
标记复制到子模块 pom 中。
对我来说,这看起来像是发布插件中的一个错误。我会在那里提出问题。