Add "Nightly" build type variant

This commit is contained in:
Balazs Toldi 2023-08-13 15:57:32 +02:00
parent 0ea491bcfc
commit a3a753a9dd
No known key found for this signature in database
GPG Key ID: 6C7D440036F99D58

View File

@ -2,6 +2,18 @@ plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
def getCommitVersionCode = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', 'HEAD', '--count'
standardOutput = stdout
}
return Integer.valueOf(stdout.toString().trim())
} catch (ignored) {
return null
}
}
android {
compileSdk 33
@ -19,10 +31,12 @@ android {
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
minifiedRelease {
initWith buildTypes.release
zipAlignEnabled true
@ -34,6 +48,27 @@ android {
applicationIdSuffix '.debug'
versionNameSuffix ' (DEBUG)'
}
nightly {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix '.nightly'
versionNameSuffix ' (NIGHTLY)'
}
applicationVariants.all { variant ->
variant.resValue "string", "applicationId", variant.applicationId
if (variant.buildType.name == 'nightly' || variant.buildType.name == 'nopebble') {
variant.outputs.all {
setVersionCodeOverride(getCommitVersionCode())
setVersionNameOverride(variant.versionName)
outputFileName = "${applicationId}_${variant.versionName}.apk"
}
}
}
}
sourceSets {
@ -207,3 +242,4 @@ dependencies {
// debugImplementation because LeakCanary should only run in debug builds.
//debugImplementation 'com.squareup.leakcanary:leakcanary-android:x.y'
}