gpt4 book ai didi

Maven git-commit-id-插件 : commitId of subfolder/submodule

转载 作者:行者123 更新时间:2023-12-05 05:10:51 29 4
gpt4 key购买 nike

我正在使用 maven-git-commit-id-plugin maven 插件来获取 commitId 等数据。我的 Maven 项目在子文件夹中有一些子模块,如下所示:

hfe/pom.xml -
- backend/pom.xml
- frontend/pom.xml

hfe 是 git-checkout,所以文件夹 .git 存在。

在构建部分的 hfe/pom.xml 中,我添加了 maven-git-commit-id-plugin 以便它会在每个子模块中执行。

如果我现在在hfe/backend/文件夹中执行mvn package,我将在生成的git-property-file中得到整个项目的最新commitId .是否可以获取子文件夹hfe/backend的最新commitId。

为了清楚起见,我想在文件 hfe/backend/target/git.properties 中包含 commitId 90791bcf...,但此刻我得到的是 commitId d022a39342...:

/projects/hfe>git log -n 1 backend
commit 90791bcf145ee635c61f25c0ac62d0d66c49307f
Author: me
Date: Fri May 10 12:30:31 2019 +0200

/projects/hfe>git log -n 1
commit d022a39342ecd6bcedeafbaf4bd80db495fdf23c (HEAD -> master, origin/master, origin/HEAD)
Author: other
Date: Sun May 12 21:58:50 2019 +0200

也许有另一个 maven 插件可以做到这一点?

最佳答案

检查这 git-commit-id/maven-git-commit-id-plugin issue 137会有所帮助:

  • 使用不同的 git 项目多次运行插件,而不会覆盖已生成的属性。
  • 使用 Git 子模块 SHA1 而不是父项目

来自 TheSnoozer :

<!-- GIT COMMIT ID PLUGIN CONFIGURATION -->
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.5</version>
<executions>
<execution>
<phase>initialize</phase>
<id>get-the-git-infos-for-repository-one</id>
<goals>
<goal>revision</goal>
</goals>
<configuration>
<prefix>git1</prefix>
<dotGitDirectory>pathToRepositoryOne/.git</dotGitDirectory>
<generateGitPropertiesFilename>${project.build.outputDirectory}/repository_one_git.properties</generateGitPropertiesFilename>
</configuration>
</execution>
<execution>
<phase>initialize</phase>
<id>get-the-git-infos-for-repository-two</id>
<goals>
<goal>revision</goal>
</goals>
<configuration>
<prefix>git2</prefix>
<dotGitDirectory>pathToRepositoryTwo/.git</dotGitDirectory>
<generateGitPropertiesFilename>${project.build.outputDirectory}/repository_two_git.properties</generateGitPropertiesFilename>
</configuration>
</execution>
</executions>
<configuration>
<verbose>false</verbose>
<skipPoms>false</skipPoms>
<injectAllReactorProjects>true</injectAllReactorProjects>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
</configuration>
</plugin>

关于Maven git-commit-id-插件 : commitId of subfolder/submodule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56113341/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com