2014-09-03 08:04:14 -07:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
# Usage:
|
|
|
|
# sh ./build.sh --android --reload
|
|
|
|
|
|
|
|
OpenColor="\033["
|
|
|
|
Red="1;31m"
|
|
|
|
Yellow="1;33m"
|
|
|
|
Green="1;32m"
|
|
|
|
CloseColor="\033[0m"
|
|
|
|
|
|
|
|
# Check function OK
|
|
|
|
checkOK() {
|
|
|
|
if [ $? != 0 ]; then
|
|
|
|
echo "${OpenColor}${Red}* ERROR. Exiting...${CloseColor}"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# Configs
|
|
|
|
BUILDDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
PROJECT="$BUILDDIR/project"
|
|
|
|
VERSION=`cut -d '"' -f2 $BUILDDIR/../version.js`
|
|
|
|
|
|
|
|
SKIPIOS=false
|
|
|
|
CLEAR=false
|
2014-12-10 16:17:12 -08:00
|
|
|
DBGJS=false
|
2014-09-03 08:04:14 -07:00
|
|
|
|
|
|
|
# Check Args
|
2014-12-10 16:17:12 -08:00
|
|
|
if [[ $1 = "--android" || $2 = "--android" || $3 = "--android" ]]
|
2014-09-03 08:04:14 -07:00
|
|
|
then
|
|
|
|
SKIPIOS=true
|
|
|
|
fi
|
|
|
|
|
2014-12-10 16:17:12 -08:00
|
|
|
if [[ $1 = "--clear" || $2 = "--clear" || $3 = "--clear" ]]
|
2014-09-03 08:04:14 -07:00
|
|
|
then
|
|
|
|
CLEAR=true
|
|
|
|
fi
|
|
|
|
|
2014-12-10 16:17:12 -08:00
|
|
|
if [[ $1 = "--dbgjs" || $2 = "--dbgjs" || $3 = "--dbgjs" ]]
|
|
|
|
then
|
|
|
|
DBGJS=true
|
|
|
|
fi
|
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
|
|
|
|
echo "${OpenColor}${Green}* Checking dependencies...${CloseColor}"
|
|
|
|
command -v cordova >/dev/null 2>&1 || { echo >&2 "Cordova is not present, please install it: sudo npm -g cordova."; exit 1; }
|
|
|
|
command -v xcodebuild >/dev/null 2>&1 || { echo >&2 "XCode is not present, install it or use [--android]."; exit 1; }
|
|
|
|
|
|
|
|
# Create project dir
|
2014-09-23 08:12:01 -07:00
|
|
|
if $CLEAR
|
2014-09-03 08:04:14 -07:00
|
|
|
then
|
|
|
|
if [ -d $PROJECT ]; then
|
|
|
|
rm -rf $PROJECT
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d $PROJECT ]; then
|
|
|
|
cd $BUILDDIR
|
|
|
|
echo "${OpenColor}${Green}* Creating project... ${CloseColor}"
|
|
|
|
cordova create project com.bitpay.copay Copay
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cd $PROJECT
|
|
|
|
echo "${OpenColor}${Green}* Adding Android platform... ${CloseColor}"
|
|
|
|
cordova platforms add android
|
|
|
|
checkOK
|
|
|
|
|
2014-09-23 08:12:01 -07:00
|
|
|
if [[ !$SKIPIOS ]]; then
|
2014-09-03 08:04:14 -07:00
|
|
|
echo "${OpenColor}${Green}* Adding IOS platform... ${CloseColor}"
|
|
|
|
cordova platforms add ios
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "${OpenColor}${Green}* Installing plugins... ${CloseColor}"
|
2014-11-26 07:36:51 -08:00
|
|
|
|
|
|
|
cordova plugin add https://github.com/Initsogar/cordova-webintent.git
|
|
|
|
checkOK
|
2014-11-22 12:36:19 -08:00
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
cordova plugin add https://github.com/wildabeast/BarcodeScanner.git
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cordova plugin add org.apache.cordova.splashscreen
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cordova plugin add org.apache.cordova.statusbar
|
|
|
|
checkOK
|
2014-10-06 12:26:03 -07:00
|
|
|
|
2014-11-26 07:36:51 -08:00
|
|
|
cordova plugin add https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin.git --variable URL_SCHEME=bitcoin
|
|
|
|
checkOK
|
|
|
|
|
2014-12-09 11:11:56 -08:00
|
|
|
cordova plugin add org.apache.cordova.inappbrowser
|
|
|
|
checkOK
|
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
fi
|
|
|
|
|
2014-12-10 16:17:12 -08:00
|
|
|
if $DBGJS
|
|
|
|
then
|
|
|
|
echo "${OpenColor}${Green}* Generating copay bundle (debug js)...${CloseColor}"
|
|
|
|
cd $BUILDDIR/..
|
2014-12-11 11:07:43 -08:00
|
|
|
grunt dist-mobile-dbg
|
2014-12-10 16:17:12 -08:00
|
|
|
checkOK
|
|
|
|
else
|
|
|
|
echo "${OpenColor}${Green}* Generating copay bundle...${CloseColor}"
|
|
|
|
cd $BUILDDIR/..
|
2014-12-11 11:07:43 -08:00
|
|
|
grunt dist-mobile
|
2014-12-10 16:17:12 -08:00
|
|
|
checkOK
|
|
|
|
fi
|
2014-09-03 08:04:14 -07:00
|
|
|
|
|
|
|
echo "${OpenColor}${Green}* Coping files...${CloseColor}"
|
|
|
|
cd $BUILDDIR/..
|
2014-11-22 12:36:19 -08:00
|
|
|
cp -af dist/web/** $PROJECT/www
|
2014-09-03 08:04:14 -07:00
|
|
|
checkOK
|
|
|
|
|
|
|
|
sed "s/<\!-- PLACEHOLDER: CORDOVA SRIPT -->/<script type='text\/javascript' charset='utf-8' src='cordova.js'><\/script>/g" index.html > $PROJECT/www/index.html
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cd $BUILDDIR
|
|
|
|
cp config.xml $PROJECT/config.xml
|
|
|
|
checkOK
|
|
|
|
|
2014-11-20 17:09:28 -08:00
|
|
|
mkdir -p $PROJECT/platforms/android/res/xml/
|
|
|
|
checkOK
|
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
cp android/AndroidManifest.xml $PROJECT/platforms/android/AndroidManifest.xml
|
|
|
|
checkOK
|
|
|
|
|
2014-11-26 07:36:51 -08:00
|
|
|
cp android/project.properties $PROJECT/platforms/android/project.properties
|
|
|
|
checkOK
|
2014-09-23 08:12:01 -07:00
|
|
|
|
|
|
|
cp -R android/res/* $PROJECT/platforms/android/res
|
|
|
|
checkOK
|
|
|
|
|
2014-11-26 07:36:51 -08:00
|
|
|
if [[ !$SKIPIOS ]]; then
|
|
|
|
cp ios/Copay-Info.plist $PROJECT/platforms/ios/Copay-Info.plist
|
|
|
|
checkOK
|
2014-11-20 17:09:28 -08:00
|
|
|
|
2014-11-26 07:36:51 -08:00
|
|
|
mkdir -p $PROJECT/platforms/ios/Copay/Resources/icons
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
mkdir -p $PROJECT/platforms/ios/Copay/Resources/splash
|
|
|
|
checkOK
|
2014-11-20 17:09:28 -08:00
|
|
|
|
2014-09-23 08:12:01 -07:00
|
|
|
cp -R ios/icons/* $PROJECT/platforms/ios/Copay/Resources/icons
|
2014-09-08 08:56:06 -07:00
|
|
|
checkOK
|
2014-09-03 08:04:14 -07:00
|
|
|
|
2014-09-23 08:12:01 -07:00
|
|
|
cp -R ios/splash/* $PROJECT/platforms/ios/Copay/Resources/splash
|
2014-09-08 08:56:06 -07:00
|
|
|
checkOK
|
|
|
|
fi
|
2014-09-03 08:04:14 -07:00
|
|
|
|