2014-09-03 08:04:14 -07:00
|
|
|
#! /bin/bash
|
2014-12-30 07:19:16 -08:00
|
|
|
#
|
2014-09-03 08:04:14 -07:00
|
|
|
# Usage:
|
|
|
|
# sh ./build.sh --android --reload
|
2014-12-30 07:19:16 -08:00
|
|
|
#
|
|
|
|
#
|
2014-09-03 08:04:14 -07:00
|
|
|
# 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"
|
|
|
|
|
2015-01-02 10:07:11 -08:00
|
|
|
CURRENT_OS=$1
|
2014-09-03 08:04:14 -07:00
|
|
|
|
2015-01-02 10:07:11 -08:00
|
|
|
if [ -z "CURRENT_OS" ]
|
2015-01-03 08:40:35 -08:00
|
|
|
then
|
2015-01-05 12:28:15 -08:00
|
|
|
echo "Build.sh WP8|ANDROID|IOS"
|
2015-01-03 08:40:35 -08:00
|
|
|
fi
|
2014-12-30 07:19:16 -08:00
|
|
|
|
2015-01-02 10:07:11 -08:00
|
|
|
CLEAR=false
|
|
|
|
DBGJS=false
|
2014-12-30 07:19:16 -08:00
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
if [[ $2 == "--clear" || $3 == "--clear" ]]
|
2014-09-03 08:04:14 -07:00
|
|
|
then
|
|
|
|
CLEAR=true
|
|
|
|
fi
|
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
if [[ $2 == "--dbgjs" || $3 == "--dbgjs" ]]
|
2014-12-10 16:17:12 -08:00
|
|
|
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; }
|
2014-12-30 07:19:16 -08:00
|
|
|
#command -v xcodebuild >/dev/null 2>&1 || { echo >&2 "XCode is not present, install it or use [--android]."; exit 1; }
|
2014-09-03 08:04:14 -07:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2014-12-30 07:19:16 -08:00
|
|
|
echo "Build directory is $BUILDDIR"
|
|
|
|
echo "Project directory is $PROJECT"
|
|
|
|
|
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
if [ ! -d $PROJECT ]; then
|
|
|
|
cd $BUILDDIR
|
|
|
|
echo "${OpenColor}${Green}* Creating project... ${CloseColor}"
|
|
|
|
cordova create project com.bitpay.copay Copay
|
|
|
|
checkOK
|
|
|
|
cd $PROJECT
|
2014-12-31 10:31:35 -08:00
|
|
|
if [ $CURRENT_OS == "ANDROID" ]; then
|
2014-12-30 07:19:16 -08:00
|
|
|
echo "${OpenColor}${Green}* Adding Android platform... ${CloseColor}"
|
2016-05-03 06:42:18 -07:00
|
|
|
cordova platforms add android@5.1.1
|
2014-12-30 07:19:16 -08:00
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
if [ $CURRENT_OS == "IOS" ]; then
|
2014-09-03 08:04:14 -07:00
|
|
|
echo "${OpenColor}${Green}* Adding IOS platform... ${CloseColor}"
|
|
|
|
cordova platforms add ios
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
2014-12-31 10:31:35 -08:00
|
|
|
if [ $CURRENT_OS == "WP8" ]; then
|
2014-12-30 07:19:16 -08:00
|
|
|
echo "${OpenColor}${Green}* Adding WP8 platform... ${CloseColor}"
|
|
|
|
cordova platforms add wp8
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
2014-09-03 08:04:14 -07:00
|
|
|
echo "${OpenColor}${Green}* Installing plugins... ${CloseColor}"
|
2014-11-26 07:36:51 -08:00
|
|
|
|
2016-04-21 10:13:25 -07:00
|
|
|
if [ $CURRENT_OS == "IOS" ]
|
2016-01-11 05:56:14 -08:00
|
|
|
then
|
|
|
|
cordova plugin add https://github.com/tjwoon/csZBar.git
|
|
|
|
checkOK
|
|
|
|
else
|
2016-04-21 10:13:25 -07:00
|
|
|
cordova plugin add https://github.com/jrontend/phonegap-plugin-barcodescanner
|
2016-01-11 05:56:14 -08:00
|
|
|
checkOK
|
|
|
|
fi
|
2016-01-11 05:29:45 -08:00
|
|
|
|
2016-05-05 07:28:04 -07:00
|
|
|
if [ $CURRENT_OS == "IOS" ]; then
|
|
|
|
cordova plugin add phonegap-plugin-push@1.5.3
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $CURRENT_OS == "ANDROID" ]; then
|
|
|
|
cordova plugin add phonegap-plugin-push@1.2.3
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
2015-12-20 14:42:25 -08:00
|
|
|
cordova plugin add cordova-plugin-globalization
|
|
|
|
checkOK
|
|
|
|
|
2016-03-29 13:52:35 -07:00
|
|
|
cordova plugin add cordova.plugins.diagnostic
|
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-splashscreen
|
2014-09-03 08:04:14 -07:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-statusbar
|
2014-09-03 08:04:14 -07:00
|
|
|
checkOK
|
2014-10-06 12:26:03 -07:00
|
|
|
|
2016-04-29 06:33:59 -07:00
|
|
|
cordova plugin add https://github.com/cmgustavo/Custom-URL-scheme.git --variable URL_SCHEME=bitcoin --variable SECOND_URL_SCHEME=copay
|
2015-12-23 07:29:46 -08:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-inappbrowser
|
2014-12-09 11:11:56 -08:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-x-toast && cordova prepare
|
2015-01-22 09:34:36 -08:00
|
|
|
checkOK
|
|
|
|
|
|
|
|
cordova plugin add https://github.com/VersoSolutions/CordovaClipboard
|
|
|
|
checkOK
|
|
|
|
|
2015-01-27 06:52:16 -08:00
|
|
|
cordova plugin add https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git && cordova prepare
|
|
|
|
checkOK
|
|
|
|
|
2016-03-31 14:13:03 -07:00
|
|
|
cordova plugin add cordova-plugin-spinner-dialog
|
2015-02-13 13:05:09 -08:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-dialogs
|
2015-03-06 07:00:10 -08:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-network-information
|
2015-03-06 07:00:10 -08:00
|
|
|
checkOK
|
|
|
|
|
2015-10-09 06:46:37 -07:00
|
|
|
cordova plugin add cordova-plugin-console
|
2015-04-17 06:21:12 -07:00
|
|
|
checkOK
|
2015-03-06 07:00:10 -08:00
|
|
|
|
2016-03-31 14:13:03 -07:00
|
|
|
cordova plugin add cordova-plugin-uniquedeviceid
|
2015-04-17 06:21:12 -07:00
|
|
|
checkOK
|
2015-03-06 07:00:10 -08:00
|
|
|
|
2016-06-09 14:13:13 -07:00
|
|
|
cordova plugin add cordova-plugin-file
|
2015-04-24 12:39:12 -07:00
|
|
|
checkOK
|
|
|
|
|
2016-07-13 08:23:45 -07:00
|
|
|
cordova plugin add cordova-plugin-touch-id && cordova prepare
|
2016-06-23 12:18:18 -07:00
|
|
|
checkOK
|
|
|
|
|
2016-07-13 08:23:45 -07:00
|
|
|
cordova plugin add cordova-plugin-transport-security
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cordova plugin add cordova-ios-requires-fullscreen
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cordova plugin add cordova-plugin-disable-bitcode
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
## Fix plugin android-fingerprint
|
|
|
|
rm -rf $PROJECT/platforms/android/res/values-es
|
2016-07-13 08:11:32 -07:00
|
|
|
cordova plugin add cordova-plugin-android-fingerprint-auth
|
|
|
|
checkOK
|
|
|
|
|
2016-07-13 08:23:45 -07:00
|
|
|
cordova plugin add cordova-plugin-screen-orientation
|
2016-07-13 08:11:32 -07:00
|
|
|
checkOK
|
|
|
|
|
2016-06-28 12:30:53 -07:00
|
|
|
cordova plugin add ionic-plugin-keyboard
|
|
|
|
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/..
|
2015-03-06 07:00:10 -08:00
|
|
|
grunt
|
2014-12-10 16:17:12 -08:00
|
|
|
checkOK
|
|
|
|
else
|
|
|
|
echo "${OpenColor}${Green}* Generating copay bundle...${CloseColor}"
|
|
|
|
cd $BUILDDIR/..
|
2015-03-06 07:00:10 -08:00
|
|
|
grunt prod
|
2014-12-10 16:17:12 -08:00
|
|
|
checkOK
|
|
|
|
fi
|
2014-09-03 08:04:14 -07:00
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
echo "${OpenColor}${Green}* Copying files...${CloseColor}"
|
2014-09-03 08:04:14 -07:00
|
|
|
cd $BUILDDIR/..
|
2015-03-06 07:00:10 -08:00
|
|
|
cp -af public/** $PROJECT/www
|
2014-09-03 08:04:14 -07:00
|
|
|
checkOK
|
|
|
|
|
2015-03-06 07:00:10 -08:00
|
|
|
sed "s/<\!-- PLACEHOLDER: CORDOVA SRIPT -->/<script type='text\/javascript' charset='utf-8' src='cordova.js'><\/script>/g" public/index.html > $PROJECT/www/index.html
|
2014-09-03 08:04:14 -07:00
|
|
|
checkOK
|
|
|
|
|
|
|
|
cd $BUILDDIR
|
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
cp config.xml $PROJECT/config.xml
|
|
|
|
checkOK
|
2014-12-31 10:31:35 -08:00
|
|
|
|
2015-01-05 12:28:15 -08:00
|
|
|
if [ $CURRENT_OS == "ANDROID" ]; then
|
2014-12-31 10:31:35 -08:00
|
|
|
echo "Android project!!!"
|
|
|
|
|
2014-12-30 07:19:16 -08:00
|
|
|
mkdir -p $PROJECT/platforms/android/res/xml/
|
|
|
|
checkOK
|
2014-09-23 08:12:01 -07:00
|
|
|
|
2015-05-18 06:10:35 -07:00
|
|
|
# cp android/AndroidManifest.xml $PROJECT/platforms/android/AndroidManifest.xml
|
|
|
|
# checkOK
|
2016-03-29 13:52:35 -07:00
|
|
|
|
2015-10-26 07:56:38 -07:00
|
|
|
cp android/build-extras.gradle $PROJECT/platforms/android/build-extras.gradle
|
|
|
|
checkOK
|
2014-12-30 07:19:16 -08:00
|
|
|
|
|
|
|
cp android/project.properties $PROJECT/platforms/android/project.properties
|
|
|
|
checkOK
|
|
|
|
|
2016-08-08 08:20:01 -07:00
|
|
|
mkdir -p $PROJECT/scripts
|
|
|
|
checkOK
|
|
|
|
|
|
|
|
cp scripts/* $PROJECT/scripts
|
|
|
|
checkOK
|
|
|
|
|
2014-12-30 07:19:16 -08:00
|
|
|
cp -R android/res/* $PROJECT/platforms/android/res
|
|
|
|
checkOK
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $CURRENT_OS == "WP8" ]; then
|
2014-12-31 10:31:35 -08:00
|
|
|
echo "Wp8 project!!!"
|
|
|
|
cp -R $PROJECT/www/* $PROJECT/platforms/wp8/www
|
|
|
|
checkOK
|
2015-10-29 11:27:15 -07:00
|
|
|
if ! $CLEAR
|
|
|
|
then
|
|
|
|
cp -vf wp/Properties/* $PROJECT/platforms/wp8/Properties/
|
|
|
|
checkOK
|
|
|
|
cp -vf wp/MainPage.xaml $PROJECT/platforms/wp8/
|
|
|
|
checkOK
|
|
|
|
cp -vf wp/Package.appxmanifest $PROJECT/platforms/wp8/
|
|
|
|
checkOK
|
|
|
|
cp -vf wp/Assets/* $PROJECT/platforms/wp8/Assets/
|
|
|
|
cp -vf wp/SplashScreenImage.jpg $PROJECT/platforms/wp8/
|
|
|
|
cp -vf wp/ApplicationIcon.png $PROJECT/platforms/wp8/
|
|
|
|
cp -vf wp/Background.png $PROJECT/platforms/wp8/
|
|
|
|
checkOK
|
|
|
|
fi
|
2014-12-30 07:19:16 -08:00
|
|
|
fi
|