build: Allow building release artifacts in-tree
This change avoids all need for changing any file under VCS to insert signing keys and configs for release builds. Example contents of keystore.properties ``` // Location of keystore, relative to module build.gradle, // in this case, of the app module storeFile=../wireguard.jks storePassword=b3ty0uc4nth4xxth1s keyAlias=wireguard keyPassword=4ndr01dsux ``` Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
d8d6e99df1
commit
0496b94aa8
2
.gitignore
vendored
2
.gitignore
vendored
@ -13,3 +13,5 @@ build/
|
||||
*.class
|
||||
*.dex
|
||||
*.iml
|
||||
*.jks
|
||||
keystore.properties
|
||||
|
@ -1,5 +1,9 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
// Create a variable called keystorePropertiesFile, and initialize it to your
|
||||
// keystore.properties file, in the rootProject folder.
|
||||
final def keystorePropertiesFile = rootProject.file("keystore.properties")
|
||||
|
||||
android {
|
||||
buildToolsVersion '27.0.3'
|
||||
compileOptions {
|
||||
@ -17,6 +21,28 @@ android {
|
||||
versionCode 422
|
||||
versionName '0.0.20180605'
|
||||
}
|
||||
// If the keystore file exists
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
// Initialize a new Properties() object called keystoreProperties.
|
||||
final def keystoreProperties = new Properties()
|
||||
|
||||
// Load your keystore.properties file into the keystoreProperties object.
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
keyAlias keystoreProperties['keyAlias']
|
||||
keyPassword keystoreProperties['keyPassword']
|
||||
storeFile file(keystoreProperties['storeFile'])
|
||||
storePassword keystoreProperties['storePassword']
|
||||
}
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path 'tools/CMakeLists.txt'
|
||||
|
Loading…
Reference in New Issue
Block a user