diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d3e5f196..4eecc268 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,6 @@
stages:
- - test
- build
+ - test
- staging
- prod
@@ -15,7 +15,6 @@ build-site:
artifacts:
paths:
- ./src/dist/dynamicbible
- needs: ["test"]
build-android:
stage: build
@@ -27,15 +26,17 @@ build-android:
- bash ./install-sdk.sh
- cd ..
script:
+ - pwd
- npm ci
- npm run-script build
- npm run-script copy
- cd android
+ - gradle signingReport
- gradle assembleRelease
+ - gradle bundleRelease
artifacts:
paths:
- ./src/android/app/build/outputs
- needs: ["test"]
test:
stage: test
@@ -45,6 +46,7 @@ test:
script:
- cd ./src
- make test
+ needs: ["build-site"]
deploy-staging:
stage: staging
diff --git a/src/Makefile b/src/Makefile
index fbc52aec..01e71a0c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -13,6 +13,7 @@ build-android:
npm run-script copy
cd android/
./gradlew assembleRelease
+ ./gradlew bundleRelease
build: build-site build-android
diff --git a/src/android/.gitignore b/src/android/.gitignore
index cbe44eec..7a16d370 100644
--- a/src/android/.gitignore
+++ b/src/android/.gitignore
@@ -27,6 +27,8 @@ build/
# Local configuration file (sdk path, etc)
local.properties
+signing.properties
+walljm-play-store-key.jks
# Proguard folder generated by Eclipse
proguard/
diff --git a/src/android/.idea/codeStyles/Project.xml b/src/android/.idea/codeStyles/Project.xml
new file mode 100644
index 00000000..681f41ae
--- /dev/null
+++ b/src/android/.idea/codeStyles/Project.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ xmlns:android
+
+ ^$
+
+
+
+
+
+
+
+
+ xmlns:.*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+
+ ^$
+
+
+
+
+
+
+
+
+ style
+
+ ^$
+
+
+
+
+
+
+
+
+ .*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+
+ http://schemas.android.com/apk/res/android
+
+
+ ANDROID_ATTRIBUTE_ORDER
+
+
+
+
+
+
+ .*
+
+ .*
+
+
+ BY_NAME
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/android/.idea/jarRepositories.xml b/src/android/.idea/jarRepositories.xml
new file mode 100644
index 00000000..e34606cc
--- /dev/null
+++ b/src/android/.idea/jarRepositories.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/android/.idea/misc.xml b/src/android/.idea/misc.xml
new file mode 100644
index 00000000..974f06ab
--- /dev/null
+++ b/src/android/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/android/app/build.gradle b/src/android/app/build.gradle
index fa59d4a8..0809ab86 100644
--- a/src/android/app/build.gradle
+++ b/src/android/app/build.gradle
@@ -1,5 +1,11 @@
apply plugin: 'com.android.application'
+// Create a variable called keystorePropertiesFile, and initialize it to your
+// keystore.properties file, in the rootProject folder.
+def keystorePropertiesFile = rootProject.file("signing.properties")
+def keystoreProperties = new Properties()
+keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
+
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
@@ -10,10 +16,19 @@ android {
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
+ signingConfigs {
+ release {
+ keyAlias keystoreProperties['keyAlias']
+ keyPassword keystoreProperties['password'].replaceAll('JASON', "\\\$")
+ storeFile file(keystoreProperties['storeFile'])
+ storePassword keystoreProperties['password'].replaceAll('JASON', "\\\$")
+ }
+ }
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ signingConfig signingConfigs.release
}
}
}
@@ -43,4 +58,4 @@ try {
}
} catch(Exception e) {
logger.warn("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
-}
\ No newline at end of file
+}
diff --git a/src/android/build.gradle b/src/android/build.gradle
index fc069ba1..03f2b8cf 100644
--- a/src/android/build.gradle
+++ b/src/android/build.gradle
@@ -1,13 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
+
repositories {
google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.1'
+ classpath 'com.android.tools.build:gradle:4.0.0'
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/src/android/capacitor-cordova-android-plugins/build.gradle b/src/android/capacitor-cordova-android-plugins/build.gradle
index 304a4c3f..5b689056 100644
--- a/src/android/capacitor-cordova-android-plugins/build.gradle
+++ b/src/android/capacitor-cordova-android-plugins/build.gradle
@@ -8,7 +8,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.1'
+ classpath 'com.android.tools.build:gradle:4.0.0'
}
}
@@ -54,4 +54,4 @@ apply from: "cordova.variables.gradle"
for (def func : cdvPluginPostBuildExtras) {
func()
-}
\ No newline at end of file
+}
diff --git a/src/android/install-sdk.sh b/src/android/install-sdk.sh
index 3c06dc8a..ff3722cd 100644
--- a/src/android/install-sdk.sh
+++ b/src/android/install-sdk.sh
@@ -26,3 +26,13 @@ touch /root/.android/repositories.cfg
# Install Build Essentials
echo sdk.dir=$ANDROID_HOME > ../local.properties
+
+# Insall the signing keys
+cd ..
+echo "Creating store key file and signing properties"
+base64 -d $play_store_key > ./walljm-play-store-key.jks
+cp $play_store_signing_properties ./signing.properties
+
+# diagnostics, show me what you've got and where you're at
+ls -laF
+pwd