grunt-eha-cordova-build
v3.1.0
Published
Builds Sense Apps via Cordova
Downloads
19
Readme
grunt-eha-cordova-build
Usage
Set Up:
Install this module:
npm install --save-dev grunt-eha-cordova-build
Install cordova-android platform. This is done locally, so each app can chose different versions shuold they want to.
npm install --save-dev cordova-android
Generate the config.template.xml file:
grunt ehaCordovaTemplate
Modify config.template.xml after your needs. this file should be checked in in your version control.In your gruntfile, add
grunt.loadNpmTasks('eha-cordova-build');
grunt.config.init({
ehaCordovaBuild: {
options: {
appdir: 'build-test',
package: 'com.ehealthafrica.{%= country %}.buildtest',
appname: 'Build Test',
// Adapt this to what your apps build system is
buildCmd: 'grunt build:{%=type%}:{%=country%}:{%=rebuild%}'
}
}
});
Note that you need to use different delimiters, to get past the grunt initial expansion. See more info about the 'buildCmd' below
- Add a
cordovaPlugins
key in package.json, example
"cordovaPlugins": {
"cordova-plugin-crosswalk-webview": "^1.2.0",
"cordova-plugin-dialogs": "^1.1.0",
"cordova-plugin-google-analytics": "^0.7.1",
"cordova-plugin-network-information": "^1.0.0",
"cordova-plugin-vibration": "^1.1.0",
"cordova-plugin-whitelist": "^1.0.0",
"device-information": "https://github.com/vliesaputra/DeviceInformationPlugin",
"phonegap-sms": "https://github.com/aharris88/phonegap-sms-plugin.git",
"local-notifications": "https://github.com/sapk/cordova-plugin-local-notifications.git"
},
- build with
grunt ehaCordovaBuild:snapshot:country
Cordova Plugins
Cordova plugins are installed via a 'cordovaPlugins' key in package.json. See example above.
App Version
The app version is read from package.json
The 'buildCmd'
The 'buildCmd' property could be any bash command, that produces a 'dist' directory in your root folder.
The simplest possible would be cp -r app dist
. As long as it produces this directory, it can also be grunt commands, or whatever you want to use.
Travis Build
This module does not provide you with a travis build script. However, here's an example:
set -e
info() { echo "$0: $1"; }
error() { info "$1"; exit 1; }
build() { info "Performing $1 build"; }
skip() { info "${1}. Skipping build."; exit 0; }
[[ "$TRAVIS_PULL_REQUEST" == "false" ]] || {
skip "This build was triggered by a pull request"
}
if [[ "$TRAVIS_TAG" ]]; then
BUILD_STAGE="release"
elif [[ "$TRAVIS_BRANCH" == "develop" ]]; then
BUILD_STAGE="snapshot"
elif [[ "$TRAVIS_BRANCH" == "staging" ]]; then
BUILD_STAGE="staging"
else
skip "Unsupported branch $TRAVIS_BRANCH and/or untagged commit"
fi
# Only build sl right now
grunt ehaCordovaBuild:$BUILD_STAGE:sl
# throw away app directory, we just want the APKs
rm -Rf build/biometrics
Note that the deletion of the bottom needs to be the same as the 'appdir' grunt option for ehaCordovaBuild