Sanjay Dutt
Sanjay Dutt

Reputation: 1423

Read last commit of the git and commit number

In maven project with Git source code, Is it possible whenever I am compiling a build with maven, to read the last commit of the git and commit number.

I want to use that commit number to be able to find the last commit.

Upvotes: 15

Views: 12815

Answers (3)

Sir Montes
Sir Montes

Reputation: 952

I tried to use with Spring Boot and line git.commit.id=${git.commit.id} didn't work. I had to use [email protected]@

Upvotes: 2

Anton Koscejev
Anton Koscejev

Reputation: 4857

You can use maven-buildnumber-plugin, which supports Git among a few other SCM systems.

It also has additional feature related to generating unique build number, besides just getting revision/commit ID: figure out SCM branch, add timestamps, use short hashes, etc.

Upvotes: 4

eis
eis

Reputation: 53482

This is assuming you want to read that information, then store it in a property file. Based on https://github.com/ktoso/maven-git-commit-id-plugin#using-the-plugin:

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- snip other stuff... -->
    <build>
        <!-- GIT COMMIT ID PLUGIN CONFIGURATION -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>revision</goal>
                         </goals>
                    </execution>
                </executions>

                <configuration>
                    <commitIdGenerationMode>flat</commitIdGenerationMode>
                    <gitDescribe>
                        <skip>true</skip>
                    </gitDescribe>
                </configuration>

            </plugin>
            <!-- END OF GIT COMMIT ID PLUGIN CONFIGURATION -->

            <!-- other plugins -->
        </plugins>
    </build>
</project>

git.properties in /src/main/resources:

git.commit.id=${git.commit.id}

Upvotes: 12

Related Questions