Skip to content

Instantly share code, notes, and snippets.

@lucianomlima
Forked from rishabhmhjn/executeShellInGradle
Created March 7, 2018 06:50
Show Gist options
  • Save lucianomlima/1978e233b3022d6a11470c8c091198ed to your computer and use it in GitHub Desktop.
Save lucianomlima/1978e233b3022d6a11470c8c091198ed to your computer and use it in GitHub Desktop.
Executing shell commands and getting output in gradle
def getVersionName = { ->
def hashStdOut = new ByteArrayOutputStream()
exec {
commandLine "git", "rev-parse", "--short", "HEAD"
standardOutput = hashStdOut
}
def buildNumberStdOut = new ByteArrayOutputStream()
exec {
commandLine 'echo', "$BUILD_NUMBER"
standardOutput = buildNumberStdOut
}
return buildNumberStdOut.toString().trim() + '-' + hashStdOut.toString().trim()
}
def getVersionName2() {
return "echo $BUILD_NUMBER".execute().text.trim() +
"-" +
"git rev-parse --short HEAD".execute().text.trim()
}
task printGitVersionName {
doLast {
println getVersionName()
println getVersionName2()
}
}
// execute as "./gradlew -q printGitVersionName -PBUILD_NUMBER=457"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment