build(mobile): require explicit validated Android release identity
This commit is contained in:
1 parent
52f792f00f
commit
456919df43
2 files changed
+39
-2
No files matched your search
@@ -1,5 +1,22 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
// Release identity is explicit; ordinary developer builds retain the -dev label.
|
||||
def releaseVersion = providers.gradleProperty('aiturkReleaseVersion').orNull
|
||||
def releaseCode = providers.gradleProperty('aiturkReleaseVersionCode').orNull
|
||||
if ((releaseVersion == null) != (releaseCode == null)) {
|
||||
throw new GradleException('Both aiturkReleaseVersion and aiturkReleaseVersionCode are required')
|
||||
}
|
||||
def selectedVersionCode = 5
|
||||
if (releaseVersion != null) {
|
||||
if (!(releaseVersion ==~ /\d+\.\d+\.\d+(?:-beta\.\d+)?/)) {
|
||||
throw new GradleException('Release version must be X.Y.Z or X.Y.Z-beta.N; -dev is not a release')
|
||||
}
|
||||
if (!(releaseCode ==~ /[1-9]\d{0,9}/) || releaseCode.toLong() <= 5 || releaseCode.toLong() > 2100000000L) {
|
||||
throw new GradleException('Release version code must be greater than 5 and at most 2100000000')
|
||||
}
|
||||
selectedVersionCode = releaseCode.toInteger()
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "online.turkservis.aiturk.mobile"
|
||||
compileSdk = rootProject.ext.compileSdkVersion
|
||||
@@ -7,8 +24,8 @@ android {
|
||||
applicationId "online.turkservis.aiturk.mobile"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 5
|
||||
versionName "0.1.4-dev"
|
||||
versionCode selectedVersionCode
|
||||
versionName releaseVersion ?: "0.1.4-dev"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
Reference in new issue
Block a user