# git-commit-id-maven-plugin
**Repository Path**: renwenqiang/git-commit-id-maven-plugin
## Basic Information
- **Project Name**: git-commit-id-maven-plugin
- **Description**: Maven plugin which includes build-time git repository information into an POJO / *.properties). Make your apps tell you which version exactly they were built from! Priceless in large distributed deployments... :-)
- **Primary Language**: Unknown
- **License**: LGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-05-30
- **Last Updated**: 2022-07-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: maven插件
## README
maven git commit id plugin
==================================
[](https://github.com/git-commit-id/git-commit-id-maven-plugin/actions)
[](https://coveralls.io/github/git-commit-id/git-commit-id-maven-plugin?branch=master)
[](https://search.maven.org/artifact/io.github.git-commit-id/git-commit-id-maven-plugin)
git-commit-id-maven-plugin is a plugin quite similar to [Build Number Maven Plugin](https://www.mojohaus.org/buildnumber-maven-plugin/index.html) for example but as the Build Number plugin at the time when I started this plugin only supported CVS and SVN, something had to be done.
I had to quickly develop a Git version of such a plugin. For those who don't know the plugin, it basically helps you with the following tasks and answers related questions
* Which version had the bug? Is that deployed already?
* Make your distributed deployment aware of versions
* Validate if properties are set as expected
If you are more interested in the different use-cases, feel free to [read about them in more detail](docs/use-cases.md).
Quicklinks (all relevant documentation)
==================
* [Use case documentation](docs/use-cases.md)
* [Using the plugin documentation (all details for configuration, properties, ...)](docs/using-the-plugin.md)
* [A more technical documentation on how to use the leverage the generated properties from this plugin](docs/using-the-plugin-in-more-depth.md)
* [A general documentation for git describe (usefull feature in this plugin, if you are not familiar with the command)](docs/git-describe.md)
* [Frequently Asked Question (FAQ)](docs/faq.md)
* [Contributing](CONTRIBUTING.md)
Getting the plugin
==================
The plugin **is available from Maven Central** ([see here](https://search.maven.org/artifact/io.github.git-commit-id/git-commit-id-maven-plugin)), so you don't have to configure any additional repositories to use this plugin.
A detailed description of using the plugin is available in the [Using the plugin](docs/using-the-plugin.md) document. All you need to do in the basic setup is to include that plugin definition in your `pom.xml`.
For more advanced users we also prepared a [guide to provide a brief overview of the more advanced configurations](docs/using-the-plugin.md)... read on!
Relocation of the Project
------------------------
Newer version (5.x.x or more recent) are available via
```xml
io.github.git-commit-id
git-commit-id-maven-plugin
```
older version (4.x.x or older) are available via:
```xml
pl.project13.maven
git-commit-id-plugin
```
Versions
--------
The current version is **5.0.0** ([changelist](https://github.com/git-commit-id/git-commit-id-maven-plugin/issues?q=milestone%3A5.0.0)).
You can check the available versions by visiting [search.maven.org](https://search.maven.org/artifact/io.github.git-commit-id/git-commit-id-maven-plugin), though using the newest is obviously the best choice.
Plugin compatibility with Java
-------------------------------
Here is an overview of the current plugin compatibility with Java
| Plugin Version | Required Java Version |
| --------------- | ---------------------:|
| 2.1.X | Java 1.6 |
| 2.2.X | Java 1.7 |
| 3.0.0 | Java 1.8 |
| 4.0.0 | Java 1.8 |
| 5.0.0 | Java 11 |
Plugin compatibility with Maven
-----------------------------
Even though this plugin tries to be compatible with every Maven version there are some known limitations with specific versions. Here is a list that tries to outline the current state of the art:
| Maven Version | Plugin Version | Notes |
| --------------------------- | ---------------:|:---------------------------------------------------------------------------------------------------------------:|
| Maven 3.0.X (EOL) | up to 4.0.5 | Maven 3.0.X is EOL
| Maven 3.1.0 | any | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 doesn't work -- requires maven version 3.1.1 |
| Maven 3.3.1 | any | git-commit-id-plugin:2.1.14 doesn't work |
| Maven 3.3.3 | any | git-commit-id-plugin:2.1.14 doesn't work |
| Maven 3.X.X (3.0.X is EOL) | any | Any other non listed version here should work with any plugin version |
Note:
As an example -- this table should be read as: For `Maven 3.1.0` `any` Plugin Version should work, besides the ones listed in the `Notes` have the limitations listed.
Plugin compatibility with EOL Maven version
-----------------------------
End of life (EOL) Maven versions are no longer supported by Maven, nor this plugin.
The following information is made available for reference.
| Maven Version | Plugin Version | Notes |
| --------------------------- | ---------------:|:---------------------------------------------------------------------------------------------------------------:|
| Maven 2.0.11 | up to 2.2.6 | Maven 2 is EOL, git-commit-id-plugin:1.0 doesn't work -- requires maven version 2.2.1 |
| Maven 2.2.1 | up to 2.2.6 | Maven 2 is EOL |
| Maven 3.0.X | up to 4.0.5 | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 doesn't work -- requires maven version 3.1.1 |
| Maven 3.0.X | up to 4.0.5 | For git-commit-id-plugin 2.2.4 or higher: works, but failed to load class "org.slf4j.impl.StaticLoggerBinder" |
Getting SNAPSHOT versions of the plugin
---------------------------------------
If you really want to use **snapshots**, here's the repository they are deployed to.
But I highly recommend using only stable versions, from Maven Central... :-)
```xml
sonatype-snapshots
Sonatype Snapshots
https://s01.oss.sonatype.org/content/repositories/snapshots/
```
Older Snapshots (prior version 5.X) are available via `https://oss.sonatype.org/content/repositories/snapshots/`.
If you just would like to see what the plugin can do, you can clone the repository and run
```
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
```
Maintainers
===========
This project is currently maintained thanks to: @ktoso (founder), @TheSnoozer
Notable contributions
=====================
I'd like to give a big thanks to some of these folks, for their suggestions and / or pull requests that helped make this plugin as popular as it is today:
* @mostr - for bugfixes and a framework to do integration testing,
* @fredcooke - for consistent feedback and suggestions,
* @MrOnion - for a small yet fast bugfix,
* @cardil and @TheSnoozer - for helping with getting the native git support shipped,
* all the other contributors (as of writing 50) which can be on the [contributors tab](https://github.com/git-commit-id/git-commit-id-maven-plugin/graphs/contributors) - thanks guys,
* ... many others - thank you for your contributions,
* ... you! - for using the plugin :-)
Notable happy users
===================
* [neo4j](https://neo4j.com/) – graph database
* [FoundationdDB](https://www.foundationdb.org/) – another open source database
* [Spring Boot](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-maven) – yes, the upstream Spring project is using us
* Akamai, Sabre, EasyDITA, and many many others,
* many others I don't know of.
License
=======
I'm releasing this plugin under the **GNU Lesser General Public License 3.0**.
You're free to use it as you wish, the full license text is attached in the LICENSE file.
Feature requests
================
The best way to ask for features / improvements is [via the Issues section on GitHub - it's better than email](https://github.com/git-commit-id/git-commit-id-maven-plugin/issues) because I won't loose when I have a "million emails inbox" day,
and maybe someone else has some idea or would like to upvote your issue.
That's all folks! **Happy hacking!**