Skip to content

Commit

Permalink
Merge pull request #12 from paulnagle/april_2022
Browse files Browse the repository at this point in the history
Updates May 2022
  • Loading branch information
paulnagle authored May 2, 2022
2 parents 1c53454 + f7de399 commit 31baa4d
Show file tree
Hide file tree
Showing 84 changed files with 31,484 additions and 4,709 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/build-debug-android.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build Debug Android

on: [push]

jobs:
build:
name: Build Debug APK
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v2

- name: Setup java
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x

- name: Build for android
run: ./build.sh -a

- name: Upload dev APK
uses: actions/upload-artifact@v1
with:
name: app-dev
path: platforms/android/app/build/outputs/apk/debug/app-debug.apk

48 changes: 48 additions & 0 deletions .github/workflows/build-release-android.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build Release Android

on:
release:
types: [published]

jobs:
build:
name: Build Relase AAB
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v2

- name: Setup java
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x

- name: Build Script for android
run: ./build.sh -a

- name: Build Android release AAB
run: ionic cordova build android --release --prod

- uses: r0adkll/sign-android-release@v1
name: Sign Android app AAB
id: sign_app
with:
releaseDirectory: platforms/android/app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.NAITALIA_KEYSTORE }}
alias: alias_name
keyStorePassword: ${{ secrets.NAITALIA_KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.NAITALIA_KEYSTORE_PASSWORD }}
env:
# override default build-tools version (29.0.3) -- optional
BUILD_TOOLS_VERSION: "30.0.3"

- name: Upload release bundle
uses: actions/upload-artifact@v1
with:
name: app-release
path: platforms/android/app/build/outputs/bundle/release/app-release.aab
99 changes: 99 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/bin/bash

usage(){
echo "Usage: -b (Build for browser)"
echo " -i (Build for ios)"
echo " -a (Build for android)"
echo " -c (Clean old build files)"
exit 1
}

add_plugins() {
echo "** Adding cordova plugins"
ionic cordova plugin add cordova-plugin-splashscreen
ionic cordova plugin add cordova-plugin-statusbar
ionic cordova plugin add cordova-plugin-googlemaps
ionic cordova plugin add com-badrit-base64
ionic cordova plugin add cordova-plugin-ionic-webview
ionic cordova plugin add cordova-plugin-inappbrowser
ionic cordova plugin add cordova-plugin-geolocation
ionic cordova plugin add cordova-plugin-advanced-http
ionic cordova plugin add cordova-plugin-androidx-adapter
}

install_deps() {
echo "** Installing ionic cli"
npm install -g --save @ionic/cli @ionic/cordova-builders native-run cordova-res cordova

echo "** Installing other npm dependencies"
npm install --save \
@ionic-native/google-maps \
@ionic-native/base64 \
@awesome-cordova-plugins/in-app-browser \
@awesome-cordova-plugins/geolocation \
@awesome-cordova-plugins/http \
@awesome-cordova-plugins/splash-screen \
@awesome-cordova-plugins/status-bar \
@ngx-translate/core \
@ngx-translate/http-loader \
@ionic/storage-angular \
thenby \
moment \
moment-timezone
}

clean_old_build() {
rm -rf www

ionic cordova platform rm ios
ionic cordova platform rm android
ionic cordova platform rm browser

ionic cordova plugin rm cordova-plugin-splashscreen
ionic cordova plugin rm cordova-plugin-statusbar
ionic cordova plugin rm cordova-plugin-googlemaps
ionic cordova plugin rm com-badrit-base64
ionic cordova plugin rm cordova-plugin-ionic-webview
ionic cordova plugin rm cordova-plugin-inappbrowser
ionic cordova plugin rm cordova-plugin-geolocation
ionic cordova plugin rm cordova-plugin-advanced-http
ionic cordova plugin rm cordova-plugin-androidx-adapter
rm -rf platform/*
}

build_for() {
PLATFORM=$1

echo ">>>> Building for ${PLATFORM}"
install_deps
echo ">>>> ionic cordova platform add ${PLATFORM} --confirm --no-interactive"
ionic cordova platform add "${PLATFORM}" --confirm --no-interactive
echo ">>>> add_plugins"
add_plugins
if [[ "${PLATFORM}" != "browser" ]]; then
echo ">>>> ionic cordova resources ${PLATFORM}"
ionic cordova resources "${PLATFORM}"
fi
echo ">>>> ionic cordova prepare ${PLATFORM}"
ionic cordova prepare "${PLATFORM}"
echo ">>>> ionic cordova build ${PLATFORM}"
ionic cordova build "${PLATFORM}"
}

[[ $# -eq 0 ]] && usage
while getopts "abci" option; do
case $option in
c) # Clean old build files
clean_old_build
;;
a) # Build for android
build_for android
;;
i) # Build for ios
build_for ios
;;
b) # Build for browser
build_for browser
;;
esac
done
11 changes: 8 additions & 3 deletions config.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="org.naitalia.app" version="2.6.00" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="org.naitalia.app" version="3.0.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>NA Italia</name>
<description>NA Italia</description>
<author email="[email protected]" href="https://www.naitalia.org">NA Italia</author>
<author email="[email protected]" href="https://na-italia.org/">NA Italia</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
Expand All @@ -24,6 +24,9 @@
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<edit-config file="app/src/main/AndroidManifest.xml" mode="overwrite" target="/manifest/uses-feature[@android:name='android.hardware.location.gps']" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.location.gps" android:required="true" />
</edit-config>
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
Expand All @@ -48,6 +51,9 @@
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<config-file parent="ITSAppUsesNonExemptEncryption" target="*-Info.plist">
<false />
</config-file>
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/[email protected]" width="114" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
Expand Down Expand Up @@ -103,6 +109,5 @@
</edit-config>
</platform>
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
</widget>
Loading

0 comments on commit 31baa4d

Please sign in to comment.