app build 를 하다보면 git 의 어느 commit 에서 빌드를 했는지 알아야할 필요가 있을때가 있다

검색해보니 아래와 같은 참고링크가 있음

 

https://stackoverflow.com/questions/28498688/gradle-script-to-autoversion-and-include-the-commit-hash-in-android

 

Gradle script to autoversion and include the commit hash in Android

I need to write a gradle script to auto version my application on every commit. I need to also include the commit hash as a reference in the application for testers. I am confused how auto version...

stackoverflow.com

build gradle 파일 위쪽에 아래 함수를 선언해주고

def getGitHash = { ->
    def stdout = new ByteArrayOutputStream()
    exec {
        commandLine 'git', 'rev-parse', '--short', 'HEAD'
        standardOutput = stdout
    }
    return stdout.toString().trim()
}

 

defaultConfig 영역에 아래와 같이 buildConfigField 넣어주고서 빌드하면

buildConfigField "String", "GitHash", "\"${getGitHash()}\""

생성되는 BuildConfig.java  에 아래와 같이 git hash 값이 저장된다.

// Fields from default config.
public static final String GitHash = "e61af97";

 

해당 git 에서 수정이 추가로 이루어졌는지 아닌지 여부도 판단할 수 있는 로직이 더 들어갈 수 있을 것 같은데

일단은 여기까지....

 

+ Recent posts