Created
July 13, 2016 19:39
-
-
Save tunjos/9d833a2cde1832ad0b7882a62cd812d2 to your computer and use it in GitHub Desktop.
Revisions
-
tunjos created this gist
Jul 13, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,4 @@ defaultConfig { versionCode buildVersionCode() versionName version } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,3 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. apply from: 'versioning.gradle' This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1 @@ version=0.1.0-SNAPSHOT This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,35 @@ 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; } }