|
|
@@ -3,6 +3,39 @@ plugins {
|
|
|
id 'org.jetbrains.kotlin.android'
|
|
|
}
|
|
|
|
|
|
+def getVersionCode = { ->
|
|
|
+ try {
|
|
|
+ def stdout = new ByteArrayOutputStream()
|
|
|
+ exec {
|
|
|
+ commandLine 'git', 'rev-list', '--first-parent', '--count', 'master'
|
|
|
+ standardOutput = stdout
|
|
|
+ }
|
|
|
+ return Integer.parseInt(stdout.toString().trim())
|
|
|
+ }
|
|
|
+ catch (ignored) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+def getVersionName = { ->
|
|
|
+ try {
|
|
|
+ def stdout = new ByteArrayOutputStream()
|
|
|
+ exec {
|
|
|
+ commandLine 'git', 'describe', '--always', '--tags', '--dirty'
|
|
|
+ standardOutput = stdout
|
|
|
+ }
|
|
|
+ return stdout.toString().trim()
|
|
|
+ }
|
|
|
+ catch (ignored) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Signing config, mainly intended for debug builds
|
|
|
+def keystorePropertiesFile = rootProject.file("keystore.properties");
|
|
|
+def keystoreProperties = new Properties()
|
|
|
+keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
|
+
|
|
|
android {
|
|
|
compileSdk 31
|
|
|
|
|
|
@@ -10,16 +43,28 @@ android {
|
|
|
applicationId "im.angry.openeuicc"
|
|
|
minSdk 30
|
|
|
targetSdk 31
|
|
|
- versionCode 1
|
|
|
- versionName "1.0"
|
|
|
+ versionCode getVersionCode()
|
|
|
+ versionName getVersionName()
|
|
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
}
|
|
|
|
|
|
+ signingConfigs {
|
|
|
+ config {
|
|
|
+ storeFile file(keystoreProperties['storeFile'])
|
|
|
+ storePassword keystoreProperties['storePassword']
|
|
|
+ keyAlias keystoreProperties['keyAlias']
|
|
|
+ keyPassword keystoreProperties['keyPassword']
|
|
|
+ }
|
|
|
+ }
|
|
|
buildTypes {
|
|
|
release {
|
|
|
minifyEnabled false
|
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
|
+ signingConfig signingConfigs.config
|
|
|
+ }
|
|
|
+ debug {
|
|
|
+ signingConfig signingConfigs.config
|
|
|
}
|
|
|
}
|
|
|
compileOptions {
|