Skip to content

Instantly share code, notes, and snippets.

@robUx4
Created August 12, 2015 08:30
Show Gist options
  • Save robUx4/e5a1ac9943f99ae7b877 to your computer and use it in GitHub Desktop.
Save robUx4/e5a1ac9943f99ae7b877 to your computer and use it in GitHub Desktop.
rename output with mapping
applicationVariants.all { variant ->
//def file = variant.outputFile
if (variant.buildType.name == "release") {
variant.outputs.each { output ->
//println ">> outputFile for " + variant.buildType.name + " = " + output.outputFile
output.outputFile = new File(projectDir.parent + "/../builds", archivesBaseName + "-" + versionName + ".apk")
}
} else if (variant.buildType.name == "kindle") {
variant.outputs.each { output ->
//println ">> outputFile for " + variant.buildType.name + " = " + output.outputFile
output.outputFile = new File(projectDir.parent + "/../builds", "Kindle-" + versionName + ".apk")
}
} else if (variant.buildType.name != "debug") {
variant.outputs.each { output ->
//println ">> outputFile for " + variant.buildType.name + " = " + output.outputFile
output.outputFile = new File(projectDir.parent + "/../builds", archivesBaseName + "-" + variant.buildType.name + versionCode + ".apk")
}
//println "variant name=" +variant.buildType.name+" : " + variant.outputFile+" / " + variant.dirName+" / " + variant.baseName + "\n"
}
def usesProguard = false
if (!variant.buildType.properties.findAll{it.key == 'runProguard'}.isEmpty()) {
usesProguard = variant.buildType.runProguard
} else if (!variant.buildType.properties.findAll{it.key == 'minifyEnabled'}.isEmpty()) {
usesProguard = variant.buildType.minifyEnabled
}
//println "buildType " + variant.buildType.name + " uses Proguard = " + usesProguard
if (usesProguard) {
//println "detected Proguard in " + variant.buildType.name
variant.assemble.doLast {
def mappingSource = new File(projectDir, "build/outputs/mapping/" + variant.buildType.name + "/mapping.txt")
def mappingDest = new File(variant.outputs.get(0).outputFile.parent)
description "ProGuard mapping copy"
println "ProGuard mapping copy " + mappingSource + " to " + mappingDest
copy {
from mappingSource
into mappingDest
rename { String fileName ->
fileName.replace('mapping.txt', variant.outputs.get(0).outputFile.name.replace(".apk", "-mapping.txt"))
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment