def getCurrentFlavor() {
Gradle gradle = getGradle()
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()
Pattern pattern
if (tskReqStr.contains("assemble"))
pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
else
pattern = Pattern.compile("generate(\\w+)(Release|Debug)")
Matcher matcher = pattern.matcher(tskReqStr)
if (matcher.find())
return matcher.group(1).toLowerCase()
else {
println "NO MATCH FOUND"
return ""
}
}
然后。我又给优化了一个版本。
def getCurrentFlavor() {
Gradle gradle = getGradle()
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()
Pattern pattern = Pattern.compile("(assemble|generate|bundle)(.*?)(Release|Debug)")
Matcher matcher = pattern.matcher(tskReqStr)
String channel = ""
if (matcher.find()) {
channel = matcher.group(2).toLowerCase()
}
return channel
}
支持 bundle 并使用更加优雅的正则、这才是技高一筹的技术员应该干的事情。