git-commit-id-maven-plugin は、たとえばビルド番号 Maven プラグインによく似たプラグインですが、私がこのプラグインを開始した時点ではビルド番号プラグインは CVS と SVN のみをサポートしていたため、何かを行う必要がありました。このようなプラグインの Git バージョンを急いで開発する必要がありました。プラグインを知らない人のために、基本的には次のタスクを支援し、関連する質問に答えます。
さまざまな使用例に興味がある場合は、お気軽にお読みください。
GitCommitIdMojo.java
内に Javadoc として文書化されています。このプラグインは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 | Java 1.6 |
2.2.X | Java 1.7 |
3.XX | Java 1.8 |
4.XX | Java 1.8 |
5.XX | Java 11 |
6.XX | Java 11 |
7.XX | Java 11 |
8.XX | Java 11 |
9.XX | Java 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 | メイブン 3.0 |
4.XX | メイブン 3.0 |
5.XX | Maven 3.1.0-alpha-1 |
6.XX | Maven 3.1.0-alpha-1 |
7.XX | メイブン 3.2.5 |
8.XX | メイブン 3.2.5 |
9.XX | メイブン 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 3.2.5 以降が必要であると Maven 4 が発表したため、一部のリリースは動作しない可能性があります。これはプラグイン バージョン 7.0 にのみ当てはまります。 0以降。
Maven バージョン | プラグインのバージョン | 注意事項 |
---|---|---|
Maven 3.X | どれでも | プラグインには少なくとも Maven 3.1.0-alpha-1 が必要です |
Maven 4.X | v2.1.14から |
サポート終了 (EOL) Maven バージョンは、Maven およびこのプラグインによってサポートされなくなりました。参考として以下の情報を公開しております。
Maven バージョン | プラグインのバージョン | 注意事項 |
---|---|---|
メイブン 2.0.11 | 2.2.6まで | Maven 2 は EOL です。git-commit-id-plugin:1.0 は機能しません -- Maven バージョン 2.2.1 が必要です |
メイブン 2.2.1 | 2.2.6まで | Maven 2 は EOL です |
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」のロードに失敗しました。 |
メイブン 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 が必要です |
メイブン 3.3.1 | どれでも | git-commit-id-plugin:2.1.14 が機能しない |
メイブン 3.3.3 | どれでも | git-commit-id-plugin:2.1.14 が機能しない |
注: 例として -- この表は次のように解釈してください: Maven 3.1.0
の場合、 Notes
にリストされているものにはリストされている制限があるほか、 any
プラグイン バージョンでも動作します。
本当にスナップショットを使用したい場合は、スナップショットがデプロイされるリポジトリを次に示します。ただし、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に基づいてリリースしています。
自由に使用できます。完全なライセンステキストは LICENSE ファイルに添付されています。
機能や改善点を尋ねる最良の方法は、GitHub の問題セクションを経由することです。電子メールよりも優れています。なぜなら、「100 万件のメールの受信トレイ」がある日でも失うことはなく、おそらく他の誰かが何かアイデアを持っているか、賛成票を投じたいと思うからです。あなたの問題。
以上です!ハッピーハッキング!