-
Notifications
You must be signed in to change notification settings - Fork 139
/
build.sh
executable file
·72 lines (60 loc) · 2.28 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
# iPhone OS Device SDKs:
# Device - iPhone OS 2.2.1 -sdk iphoneos2.2.1
# Device - iPhone OS 3.0 -sdk iphoneos3.0
# Device - iPhone OS 3.1 -sdk iphoneos3.1
#
# iPhone OS Simulator SDKs:
# Simulator - iPhone OS 2.2.1 -sdk iphonesimulator2.2.1
# Simulator - iPhone OS 3.0 -sdk iphonesimulator3.0
# Simulator - iPhone OS 3.1 -sdk iphonesimulator3.1
#
# run 'xcodebuild -showsdks' to show the valid sdks on the system
current_sdk_version=3.0
xcodebuild="/usr/bin/xcodebuild"
# check whether the xcodebuild command exists
if [ ! -f $xcodebuild ]; then
echo "$xcodebuild not found."
exit
fi
# check whether it is a proper build command (at least two arguments, configuration and xcode_proj_folder)
if [ $# -lt 2 ]; then
echo "Usage: $0 <configuration> [target] <xcode_proj_folder>"
echo " <configuration>: typically 'debug' or 'release'"
echo " [target]: either 'device' or 'emulator' (optional)"
echo " <xcode_proj_folder>: the path to the folder containing your Xcode project file"
exit
fi
# First argument is the build configuration
configuration="$1"
# Second argument may be the emulator/device parameter if available (thus 3rd argument is the xcode project path).
# If not, it will be the path to folder containing the xcode project path
sdk=""
xcodeproj_folder=""
archs="armv6 armv7"
if [ $2 == "emulator" ]; then
sdk="-sdk iphonesimulator$current_sdk_version"
xcodeproj_folder=$3
archs="i386"
elif [ $2 == "device" ]; then
sdk="-sdk iphoneos$current_sdk_version"
xcodeproj_folder=$3
else
xcodeproj_folder=$2
fi
# the next lines will title-case the configuration value
configuration_len=${#configuration}
non_first_letter_substring="`echo ${configuration:1:configuration_len-1}|tr '[A-Z]' '[a-z]'`"
first_letter="`echo ${configuration:0:1}|tr '[a-z]' '[A-Z]'`"
configuration=$first_letter$non_first_letter_substring
# Check whether the xcode project path exists
if [ ! -d $xcodeproj_folder ]; then
echo "Path to xcode folder '$xcodeproj_folder' not found."
exit
fi
echo 'PhoneGap: building...'
# change to the project directory, and run the build
cd $xcodeproj_folder
echo $xcodebuild -alltargets -configuration $configuration $sdk
$xcodebuild -alltargets -configuration $configuration $sdk VALID_ARCHS="$archs"
echo 'PhoneGap: build done.'