Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| import java.util.regex.Pattern | |
| ext { | |
| /** | |
| * Builds an Android version code from the version of the project. | |
| * This is designed to handle the -SNAPSHOT and -RC format. | |
| * | |
| * I.e. during development the version ends with -SNAPSHOT. As the code stabilizes and release nears | |
| * one or many Release Candidates are tagged. These all end with "-RC1", "-RC2" etc. | |
| * And the final release is without any suffix. | |
| * @return | |
| */ | |
| buildVersionCode = { | |
| //The rules is as follows: | |
| //-SNAPSHOT counts as 0 | |
| //-RC* counts as the RC number, i.e. 1 to 98 | |
| //final release counts as 99. | |
| //Thus you can only have 98 Release Candidates, which ought to be enough for everyone | |
| def candidate = "99" | |
| def (major, minor, patch) = version.toLowerCase().replaceAll('-', '').tokenize('.') | |
| if (patch.endsWith("snapshot")) { | |
| candidate = "0" | |
| patch = patch.replaceAll("[^0-9]","") | |
| } else { | |
| def rc | |
| (patch, rc) = patch.tokenize("rc") | |
| if (rc) { | |
| candidate = rc | |
| } | |
| } | |
| (major, minor, patch, candidate) = [major, minor, patch, candidate].collect{it.toInteger()} | |
| (major * 1000000) + (minor * 10000) + (patch * 100) + candidate; | |
| } | |
| } |