Skip to content

Instantly share code, notes, and snippets.

@huutho-dev
Created April 6, 2021 09:59
Show Gist options
  • Select an option

  • Save huutho-dev/5997af0eac08bc118b1e3c3ea24f906f to your computer and use it in GitHub Desktop.

Select an option

Save huutho-dev/5997af0eac08bc118b1e3c3ea24f906f to your computer and use it in GitHub Desktop.
def branchNameCmd = 'git rev-parse --abbrev-ref HEAD';
def userNameCmd = 'git config user.name';
def getInfoFromGit(whatCommand) {
def gitBranch = "Unknown branch"
try {
def workingDir = new File("${project.projectDir}")
def result = whatCommand.execute(null, workingDir)
result.waitFor()
if (result.exitValue() == 0) {
gitBranch = result.text.trim().replaceAll(" ","")
}
} catch (e) {
}
return gitBranch
}
def changeApkName = { variant ->
variant.outputs.each { output ->
def apk = output.outputFile;
def newName = "[Chex]";
def branch = getInfoFromGit(branchNameCmd);
def userName = getInfoFromGit(userNameCmd);
if (variant.buildType.name == "release") {
newName += "-" + branch + "[v" + variant.mergedFlavor.versionName + "]-release.apk";
} else {
newName += "-" + branch + "-" + userName + "[v" + variant.mergedFlavor.versionName + "].apk";
}
if (!output.zipAlign) {
newName = newName.replace(".apk", "-unaligned.apk");
}
output.outputFileName = new File(apk.parentFile, newName).getName();
println 'INFO: Set outputFile to ' + output.outputFile + " for [" + output.name + "]"
}
}
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
changeApkName(variant)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment