Skip to content

haohaolee/gradle-git-properties

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

about

This repository contains packaged Gradle plugin for git.properties file generation.

Idea - @lievendoclo, originally published in article Spring Boot's info endpoint, Git and Gradle - InsaneProgramming.

usage

Declare this in your build.gradle

plugins {
  id "com.gorylenko.gradle-git-properties" version "1.4.20"
}

If needed - override location of git.properties file like this:

gitProperties {
    gitPropertiesDir = new File("${project.rootDir}/your/custom/dir")
}

If needed - use dateFormat and dateFormatTimeZone to format git.commit.time value (See SimpleDateFormat and TimeZone for values)

gitProperties {
    dateFormat = "yyyy-MM-dd'T'HH:mmZ"
    dateFormatTimeZone = "PST"
}

If project root dir is not the same git repo root dir, it can be overridden like so.

gitProperties {
    gitRepositoryRoot = new File("${project.rootDir}/../..")
}

Please note that spring-boot-actuator expects git.properties to be available at certain location.

This is enough to see git details via info endpoint of spring-boot-actuator.

You can have more fine grained control of the content of 'git.properties':

gitProperties {
    keys = ['git.branch','git.commit.id','git.commit.time']
}

All available keys can be found in the source.

In order to see all attributes, you can set the "management.info.git.mode" property to "full" per the Spring Boot documentation, e.g. in application.properties:

management.info.git.mode=full

Plugin is available from Gradle Plugins repository.

result

This is raw JSON from info endpoint:

{
  version: "0.0.1.BUILD-SNAPSHOT",
  id: "boot-admin-682defcca0d6",
  git: {
    branch: "master",
    commit: {
      id: "e06c7ec",
      time: "1442094398"
    }
  }
}

license

gradle-git-properties is Open Source software released under the Apache 2.0 license

Releases

No releases published

Packages

No packages published

Languages

  • Groovy 100.0%