git-commit-id-maven-plugin 是一個與 Build Number Maven Plugin 非常相似的插件,但由於我啟動此插件時的 Build Number 插件僅支援 CVS 和 SVN,因此必須做一些事情。我必須快速開發這樣一個插件的 Git 版本。對於那些不了解該插件的人,它基本上可以幫助您完成以下任務並回答相關問題
如果您對不同的用例更感興趣,請隨時閱讀更多詳細資訊。
GitCommitIdMojo.java
中該插件可從 Maven Central 取得(請參閱此處),因此您無需配置任何其他儲存庫即可使用該插件。
使用插件的詳細說明可在使用插件文件中找到。在基本設定中您需要做的就是將該外掛定義包含在pom.xml
中。對於更高級的用戶,我們還準備了一份指南,提供更高級配置的簡要概述...繼續閱讀!
更新版本(5.xx 或更新版本)可透過
< groupId >io.github.git-commit-id</ groupId >
< artifactId >git-commit-id-maven-plugin</ artifactId >
舊版(4.xx 或更舊)可透過以下方式取得:
< groupId >pl.project13.maven</ groupId >
< artifactId >git-commit-id-plugin</ artifactId >
目前版本是9.0.0 (變更清單)。
您可以透過造訪 search.maven.org 檢查可用版本,但使用最新版本顯然是最佳選擇。
以下是目前外掛程式與 Java 相容性的概述
插件版本 | 所需的 Java 版本 |
---|---|
2.1.X | 爪哇1.6 |
2.2.X | 爪哇1.7 |
3.XX | 爪哇1.8 |
4.XX | 爪哇1.8 |
5.XX | 爪哇11 |
6.XX | 爪哇11 |
7.XX | 爪哇11 |
8.XX | 爪哇11 |
9.XX | 爪哇11 |
儘管此插件嘗試與每個 Maven 版本相容,但特定版本仍存在一些已知的限制。這是一個試圖概述當前技術水平的清單:
插件版本 | 所需的最低 Maven 版本 |
---|---|
2.1.X | Maven 2.2.1 至 v2.1.13; Maven 3.1.1 適用於任何更高版本的 2.1.X |
2.2.X | Maven 3.1.1 至 v2.2.3; Maven 3.0 適用於任何更高版本的 2.2.X |
3.XX | Maven 3.0 |
4.XX | Maven 3.0 |
5.XX | Maven 3.1.0-alpha-1 |
6.XX | Maven 3.1.0-alpha-1 |
7.XX | Maven 3.2.5 |
8.XX | Maven 3.2.5 |
9.XX | Maven 3.6.3 |
翻轉桌子到maven:請注意,理論上maven 4.X應該支援所有maven 3插件。該插件首先在 v2.1.14 版本中附帶 maven 3 支援(需要 maven 版本 3.1.1)。因此 v2.1.14 應該是第一個支援的版本。僅從6.XX 開始,此插件才使用4.0.0-alpha-5 進行了實際測試,但由於Maven 4 宣布插件需要Maven 3.2.5 或更高版本(僅適用於插件版本7.0),因此某些版本可能無法運作。
Maven版本 | 插件版本 | 筆記 |
---|---|---|
Maven 3.X | 任何 | 該插件至少需要maven 3.1.0-alpha-1 |
Maven 4.X | 從 v2.1.14 開始 |
Maven 和此外掛程式不再支援生命週期結束 (EOL) Maven 版本。現將以下資訊提供給大家參考。
Maven版本 | 插件版本 | 筆記 |
---|---|---|
Maven 2.0.11 | 至 2.2.6 | Maven 2 已停產,git-commit-id-plugin:1.0 不起作用——需要 maven 版本 2.2.1 |
Maven 2.2.1 | 至 2.2.6 | Maven 2 已停產 |
Maven 3.0.X | 高達 4.0.5 | git-commit-id-plugin:2.1.14、2.1.15、2.2.0、2.2.1、2.2.3 不起作用 -- 需要 maven 版本 3.1.1 |
Maven 3.0.X | 高達 4.0.5 | 對於 git-commit-id-plugin 2.2.4 或更高版本:可以工作,但無法載入類別“org.slf4j.impl.StaticLoggerBinder” |
Maven 3.1.0 | 任何 | git-commit-id-plugin:2.1.14、2.1.15、2.2.0、2.2.1、2.2.3 不起作用 -- 需要 maven 版本 3.1.1 |
Maven 3.3.1 | 任何 | git-commit-id-plugin:2.1.14 不起作用 |
Maven 3.3.3 | 任何 | git-commit-id-plugin:2.1.14 不起作用 |
注意:作為範例,此表應理解為:對於Maven 3.1.0
any
插件版本都應該可以工作,除了Notes
中列出的版本具有列出的限制之外。
如果您確實想使用快照,這裡是它們部署到的儲存庫。但我強烈建議只使用來自 Maven Central 的穩定版本...:-)
< pluginRepositories >
< pluginRepository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshots</ name >
< url >https://s01.oss.sonatype.org/content/repositories/snapshots/</ url >
</ pluginRepository >
</ pluginRepositories >
較舊的快照(先前的版本 5.X)可透過<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
取得。
如果您只是想看看該插件可以做什麼,您可以克隆存儲庫並運行
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
該項目目前的維護感謝:@ktoso(創始人)、@TheSnoozer
我要向其中一些人表示衷心的感謝,他們的建議和/或拉取請求使這個插件像今天一樣受歡迎:
我根據GNU Lesser General Public License 3.0發布此插件。
您可以隨意使用它,完整的許可證文字附在許可證文件中。
請求功能/改進的最佳方式是透過GitHub 上的「問題」部分- 它比電子郵件更好,因為當我有「百萬封電子郵件收件匣」的一天時,我不會鬆懈,也許其他人有一些想法或想要投票你的問題。
這就是大家!快樂黑客!