All Projects → git-commit-id → Git Commit Id Maven Plugin

git-commit-id / Git Commit Id Maven Plugin

Licence: lgpl-3.0
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... :-)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Git Commit Id Maven Plugin

Animal Sniffer
Stars: ✭ 59 (-95.03%)
Mutual labels:  maven-plugin, maven
Javapackager
📦 Gradle/Maven plugin to package Java applications as native Windows, Mac OS X, or GNU/Linux executables and create installers for them.
Stars: ✭ 285 (-75.99%)
Mutual labels:  maven-plugin, maven
rpm-builder
Maven RPM builder plugin
Stars: ✭ 46 (-96.12%)
Mutual labels:  maven, maven-plugin
sign-maven-plugin
Maven plugin which creates Open PGP / GPG signatures for all of the project's artifacts
Stars: ✭ 34 (-97.14%)
Mutual labels:  maven, maven-plugin
Javafx Maven Plugin
Maven plugin for JavaFX
Stars: ✭ 764 (-35.64%)
Mutual labels:  maven-plugin, maven
maven-native
www.mojohaus.org/maven-native/
Stars: ✭ 13 (-98.9%)
Mutual labels:  maven, maven-plugin
docker-compose-maven-plugin
Run docker-compose with Maven
Stars: ✭ 68 (-94.27%)
Mutual labels:  maven, maven-plugin
maven-wrapper-plugin
Apache Maven Wrapper Plugin
Stars: ✭ 14 (-98.82%)
Mutual labels:  maven, maven-plugin
Drone
Drone is a Container-Native, Continuous Delivery Platform
Stars: ✭ 24,287 (+1946.08%)
Mutual labels:  build-automation, continuous-delivery
Proguard Maven Plugin
ProGuard Maven plugin that supports modularised ProGuard packages
Stars: ✭ 353 (-70.26%)
Mutual labels:  maven-plugin, maven
checksum-maven-plugin
Compute Maven project artifacts/dependencies/files checksum digests.
Stars: ✭ 36 (-96.97%)
Mutual labels:  maven, maven-plugin
Graphql Java Codegen Maven Plugin
Maven plugin for graphql-java-codegen
Stars: ✭ 17 (-98.57%)
Mutual labels:  maven-plugin, maven
scalor-maven-plugin
Build integrator for Java, Scala, Scala.macro, Scala.js, Scala.native, Eclipse and Maven.
Stars: ✭ 47 (-96.04%)
Mutual labels:  maven, maven-plugin
Appassembler
Stars: ✭ 69 (-94.19%)
Mutual labels:  maven-plugin, maven
scalafix-maven-plugin
Enables automatic refactoring and linting of Maven projects written in Scala using Scalafix.
Stars: ✭ 15 (-98.74%)
Mutual labels:  maven, maven-plugin
jcabi-maven-plugin
Supplementary maven plugin for AspectJ weaving and versioning of artifacts
Stars: ✭ 25 (-97.89%)
Mutual labels:  maven, maven-plugin
aspectj-maven-plugin
www.mojohaus.org/aspectj-maven-plugin/
Stars: ✭ 77 (-93.51%)
Mutual labels:  maven, maven-plugin
cyclonedx-maven-plugin
Creates CycloneDX Software Bill of Materials (SBOM) from Maven projects
Stars: ✭ 103 (-91.32%)
Mutual labels:  maven, maven-plugin
Psdeploy
Simple PowerShell based deployments
Stars: ✭ 302 (-74.56%)
Mutual labels:  build-automation, continuous-delivery
Maven Min Plugin
📦 Latke application JavaScript and CSS files compression.
Stars: ✭ 5 (-99.58%)
Mutual labels:  maven-plugin, maven

maven git commit id plugin

Build Status Coverage Status Maven Central

git-commit-id-plugin is a plugin quite similar to Build Number Maven Plugin 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.

Quicklinks (all relevant documentation)

Getting the plugin

The plugin is available from Maven Central (see here), 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 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... read on!

Versions

The current version is 4.0.4 (changelist).

You can check the available versions by visiting search.maven.org, though using the newest is obviously the best choice.

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

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 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 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.0.X any For git-commit-id-plugin 2.2.4 or higher: works, but failed to load class "org.slf4j.impl.StaticLoggerBinder"
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 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.

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... :-)

<pluginRepositories>
    <pluginRepository>
        <id>sonatype-snapshots</id>
        <name>Sonatype Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </pluginRepository>
</pluginRepositories>

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 - thanks guys,
  • ... many others - thank you for your contributions,
  • ... you! - for using the plugin :-)

Notable happy users

  • neo4j – graph database
  • FoundationdDB – another open source database
  • Spring Boot – yes, the upstream Spring project is using us
  • Akamai, Sabre, EasyDITA, and many many others,
  • many others I don't know of.

License

GNU LGPL v3

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 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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].