From 4712b5d64712eebbeb84a6eaf7a68466d14f54ca Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Fri, 2 Aug 2019 10:15:59 +0000 Subject: [PATCH] Integrate versioning --- app/build.gradle | 5 +-- app/gradle.properties | 3 ++ versioning.gradle | 75 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 app/gradle.properties create mode 100644 versioning.gradle diff --git a/app/build.gradle b/app/build.gradle index 198559edbe..3d7fc9ca60 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'io.fabric' +apply from: "$rootDir/versioning.gradle" android { def config = rootProject.extensions.getByName("ext") @@ -15,8 +16,8 @@ android { applicationId config["application_id"] minSdkVersion config["min_sdk"] targetSdkVersion config["target_sdk"] - versionCode config["version_code"] - versionName config["version_name"] + versionCode getBuildVersionCode() + versionName getBuildVersionName() testInstrumentationRunner config["test_runner"] } diff --git a/app/gradle.properties b/app/gradle.properties new file mode 100644 index 0000000000..c59d3d04db --- /dev/null +++ b/app/gradle.properties @@ -0,0 +1,3 @@ +version.versionMajor=0 +version.versionMinor=0 +version.versionPatch=1 diff --git a/versioning.gradle b/versioning.gradle new file mode 100644 index 0000000000..abc18500a3 --- /dev/null +++ b/versioning.gradle @@ -0,0 +1,75 @@ +tasks.register("incrementVersionMajor") { + doLast { + incrementVersion true, false, false + } +} + +tasks.register("incrementVersionMinor") { + doLast { + incrementVersion false, true, false + } +} + +tasks.register("incrementVersionPatch") { + doLast { + incrementVersion false, false, true + } +} + +def incrementVersion(maj, min, patch) { + def versionMajor = getProperty('version.versionMajor').toInteger() + def versionMinor = getProperty('version.versionMinor').toInteger() + def versionPatch = getProperty('version.versionPatch').toInteger() + + if(maj){ + versionMajor++ + versionMinor = 0 + versionPatch = 0 + } + + if(min){ + versionMinor++ + versionPatch = 0 + } + + if(patch){ + versionPatch++ + } + + def file = file('gradle.properties') + def sb = new StringBuilder() + + file.eachLine {line -> + if(line.startsWith('version.versionMajor=')){ + sb.append("version.versionMajor=${versionMajor}") + }else if(line.startsWith('version.versionMinor=')){ + sb.append("version.versionMinor=${versionMinor}") + }else if(line.startsWith('version.versionPatch=')){ + sb.append("version.versionPatch=${versionPatch}") + }else{ + sb.append(line) + } + + sb.append(System.getProperty("line.separator")) + } + + file.text = sb.toString() +} + +ext.getBuildVersionName = { + def versionMajor = getProperty('version.versionMajor').toInteger() + def versionMinor = getProperty('version.versionMinor').toInteger() + def versionPatch = getProperty('version.versionPatch').toInteger() + + def name = "${versionMajor}.${versionMinor}.${versionPatch}" + + return name +} + +ext.getBuildVersionCode = { + def versionMajor = getProperty('version.versionMajor').toInteger() + def versionMinor = getProperty('version.versionMinor').toInteger() + def versionPatch = getProperty('version.versionPatch').toInteger() + + return versionMajor * 1000 + versionMinor * 100 + versionPatch +} \ No newline at end of file