Skip to content

Instantly share code, notes, and snippets.

@rishabhmhjn
Created November 5, 2014 07:26
Show Gist options
  • Select an option

  • Save rishabhmhjn/3a51828ae2cd9c1f19bc to your computer and use it in GitHub Desktop.

Select an option

Save rishabhmhjn/3a51828ae2cd9c1f19bc 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"
@kdsrsl
Copy link
Copy Markdown

kdsrsl commented Jun 30, 2018

Thx.
恍然大悟

@simonfelding
Copy link
Copy Markdown

Thank you!

@sdevn
Copy link
Copy Markdown

sdevn commented Feb 22, 2023

Very useful example! Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment