From 18fb8c7ad3bd632559e2a45bed52c339a64019f6 Mon Sep 17 00:00:00 2001 From: Jason Wall Date: Fri, 1 Jan 2021 21:50:52 +0000 Subject: [PATCH] minor updates to build the app bundle --- .gitlab-ci.yml | 8 +- src/Makefile | 1 + src/android/.gitignore | 2 + src/android/.idea/codeStyles/Project.xml | 116 ++++++++++++++++++ src/android/.idea/jarRepositories.xml | 30 +++++ src/android/.idea/misc.xml | 4 + src/android/app/build.gradle | 19 ++- src/android/build.gradle | 4 +- .../build.gradle | 4 +- src/android/install-sdk.sh | 10 ++ 10 files changed, 189 insertions(+), 9 deletions(-) create mode 100644 src/android/.idea/codeStyles/Project.xml create mode 100644 src/android/.idea/jarRepositories.xml create mode 100644 src/android/.idea/misc.xml 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