fix the build config to allow signing, either with a secrets file or with env vars
This commit is contained in:
3
android/.gitignore
vendored
3
android/.gitignore
vendored
@@ -1,5 +1,8 @@
|
|||||||
# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
|
# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
|
||||||
|
|
||||||
|
gradle.properties.secrets
|
||||||
|
time-safari-upload-key-pkcs12.jks
|
||||||
|
|
||||||
# Built application files
|
# Built application files
|
||||||
*.apk
|
*.apk
|
||||||
*.aar
|
*.aar
|
||||||
|
|||||||
@@ -1,14 +1,38 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
|
// Default values for signing properties
|
||||||
|
project.ext.MY_KEYSTORE_FILE = ""
|
||||||
|
project.ext.MY_KEYSTORE_PASSWORD = ""
|
||||||
|
project.ext.MY_KEY_ALIAS = ""
|
||||||
|
project.ext.MY_KEY_PASSWORD = ""
|
||||||
|
|
||||||
|
// Try to load from environment variables first
|
||||||
|
project.ext.MY_KEYSTORE_FILE = System.getenv('ANDROID_KEYSTORE_FILE') ?: ""
|
||||||
|
project.ext.MY_KEYSTORE_PASSWORD = System.getenv('ANDROID_KEYSTORE_PASSWORD') ?: ""
|
||||||
|
project.ext.MY_KEY_ALIAS = System.getenv('ANDROID_KEY_ALIAS') ?: ""
|
||||||
|
project.ext.MY_KEY_PASSWORD = System.getenv('ANDROID_KEY_PASSWORD') ?: ""
|
||||||
|
|
||||||
|
// If no environment variables, try to load from secrets file
|
||||||
|
if (!project.ext.MY_KEYSTORE_FILE) {
|
||||||
|
def secretsPropertiesFile = rootProject.file("gradle.properties.secrets")
|
||||||
|
if (secretsPropertiesFile.exists()) {
|
||||||
|
Properties secretsProperties = new Properties()
|
||||||
|
secretsProperties.load(new FileInputStream(secretsPropertiesFile))
|
||||||
|
secretsProperties.each { name, value ->
|
||||||
|
project.ext[name] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace 'app.timesafari'
|
namespace 'app.timesafari'
|
||||||
compileSdk rootProject.ext.compileSdkVersion
|
compileSdk rootProject.ext.compileSdkVersion
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "app.timesafari"
|
applicationId "app.timesafari.app"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 1
|
versionCode 9
|
||||||
versionName "1.0"
|
versionName "0.4.4"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
aaptOptions {
|
aaptOptions {
|
||||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||||
@@ -16,10 +40,41 @@ android {
|
|||||||
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
signingConfigs {
|
||||||
|
release {
|
||||||
|
if (project.ext.MY_KEYSTORE_FILE &&
|
||||||
|
project.ext.MY_KEYSTORE_PASSWORD &&
|
||||||
|
project.ext.MY_KEY_ALIAS &&
|
||||||
|
project.ext.MY_KEY_PASSWORD) {
|
||||||
|
|
||||||
|
storeFile file(project.ext.MY_KEYSTORE_FILE)
|
||||||
|
storePassword project.ext.MY_KEYSTORE_PASSWORD
|
||||||
|
keyAlias project.ext.MY_KEY_ALIAS
|
||||||
|
keyPassword project.ext.MY_KEY_PASSWORD
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled false
|
minifyEnabled false
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
|
// Only sign if we have the signing config
|
||||||
|
if (signingConfigs.release.storeFile != null) {
|
||||||
|
signingConfig signingConfigs.release
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable bundle builds (without which it doesn't work right for bundleDebug vs bundleRelease)
|
||||||
|
bundle {
|
||||||
|
language {
|
||||||
|
enableSplit = true
|
||||||
|
}
|
||||||
|
density {
|
||||||
|
enableSplit = true
|
||||||
|
}
|
||||||
|
abi {
|
||||||
|
enableSplit = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user