问题标签 [mavanagaiata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 是否有一个 Git 命令来获取当前标签、分支和提交?
我目前正在使用三个命令的集合来获取最新提交的当前标记、分支以及日期和 SHA1。
这将输出如下内容:
老实说,我对此完全没问题。但是我正在使用来自 Maven 的这些命令,任何以前使用过 Maven 的人都知道诸如外部命令之类的东西会使 POM 膨胀多少。我只是想精简我的 pom.xml 并且可能会减少一点执行时间。
java - 如何在 Maven 项目的清单中的 Implementation-Version 字段中获取 git SHA1 值?
我们使用 git、maven 和 logback。
这意味着日志中的堆栈跟踪显示了包含堆栈跟踪中每一行的 jar 的实现版本(有关示例,请参见http://logback.qos.ch/reasonsToSwitch.html#packagingData )。
因此,如果我们可以将当前构建的 SHA1 打包到正在构建的工件清单中的该字段中,那么很容易从 git 中找到确切的源,该源生成包含源中该单独行的工件。
根据http://maven.apache.org/shared/maven-archiver/examples/manifestEntries.html的方法是<key>value</key>
在 pom 的 maven-jar-plugin 部分中有一行。在我的情况下,这意味着
这导致
鉴于我可以从https://github.com/koraktor/mavanagaiata获取 SHA1,如何在 MANIFEST.MF 文件中正确设置它?
git - 根据 git 分支选择 maven 配置文件
是否可以根据当前的 git 分支选择配置文件?
例如,如果您在主分支中,它会选择“生产”配置文件。如果是开发分支,它会选择“开发”配置文件。
我找到了提供该属性的mavanagaiatamvngit.branch
插件,但它不能在该<profiles>
部分中使用。
这样的事情可能吗?还是有更好的方法?我想要一种简单的方法来根据正在构建的分支自动选择正确的配置文件。
git - 从 git 分支派生 maven 工件版本
我们有一个工作流要求,本质上意味着我们需要从 git 中的当前分支外部定义模块的工件版本。
即,如果我们在 git 的 master 分支上,我需要<version>master-...</version>
,如果我们在 bugfixX 分支上,我需要<version>bugfixX-....</version>
为这个 pom.xml 生成的工件。
我之前发现https://github.com/koraktor/mavanagaiata可以提供 SHA-1 哈希作为属性,并且从文档中可以看出它也可以提供分支,所以如果它可以在足够早的时候运行我们可以设置属性并放入<version>${our.version}</version>
pom 的过程。如果这是可能的,我非常希望看到一个可以工作的 pom.xml(并为此奖励 500 点赏金)。
如果没有,我想我们要么进入预处理,要么“git checkout”用一些钩子做额外的魔法(我还没有尝试过,工作代码也会很棒)。
我们有一个顶级 pom,可以运行它以在“..”中生成一个属性文件,然后再构建我要询问的这个功能需要去的模块。
关于如何解决这个问题的任何建议?