读取git和commit number的最后一次提交

时间:2016-05-27 07:04:15

标签: git maven

在使用Git源代码的maven项目中,每当我使用maven编译构建时,是否有可能读取git和commit number的最后一次提交。

我想使用该提交号来找到最后一次提交。

3 个答案:

答案 0 :(得分:10)

这假设您要读取该信息,然后将其存储在属性文件中。 基于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>

/ src / main / resources中的git.properties:

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

答案 1 :(得分:3)

您可以使用maven-buildnumber-plugin,它在其他一些SCM系统中支持Git。

除了获取修订版/提交ID之外,它还具有与生成唯一版本号相关的附加功能:找出SCM分支,添加时间戳,使用短哈希等。

答案 2 :(得分:0)

我尝试与Spring Boot一起使用,而行git.commit.id=${git.commit.id}无效。我不得不使用git.commit.id=@git.commit.id@