Skip to content

Commit d3f548a

Browse files
committed
Add build and zip script
1 parent bf56eb5 commit d3f548a

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

Scripts/buildAndZipAll.sh

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#!/bin/sh
2+
3+
function help() {
4+
echo "Usage: $(basename "$0") [-quiet]"
5+
echo "Options:"
6+
echo " -quiet: building scheme in quiet mode"
7+
echo " -h, --help: display this help"
8+
echo "Examples:"
9+
echo " $(basename "$0") -quiet"
10+
exit 0
11+
}
12+
13+
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
14+
PROJ_DIR="$(dirname "$SCRIPT_DIR")"
15+
ARTIFACTS_DIR="$PROJ_DIR/artifacts"
16+
17+
QUIET=""
18+
19+
while [ $# -gt 0 ]
20+
do
21+
case "$1" in
22+
-quiet)
23+
QUIET="-quiet"
24+
shift
25+
;;
26+
-h|--help)
27+
help
28+
;;
29+
*)
30+
echo "Unknown input parameter \"$1\". Run with --help or -h for help."
31+
exit 1
32+
;;
33+
esac
34+
done
35+
36+
check_utility_result()
37+
{
38+
RESULT="$1"
39+
if [ $RESULT != 0 ]; then
40+
exit $RESULT
41+
fi
42+
}
43+
44+
add_artifact()
45+
{
46+
ARTIFACT="$1"
47+
mkdir -p "$ARTIFACTS_DIR"
48+
mv "$ARTIFACT" "$ARTIFACTS_DIR"
49+
}
50+
51+
buildAndArchive()
52+
{
53+
echo "------------ BUILD ------------"
54+
PROJECT="$PROJ_DIR/PermissionsKit.xcodeproj"
55+
SCHEME="PermissionsKit"
56+
BUILD_CONFIG="Release"
57+
DEBUG_INFORMATION_FORMAT="dwarf-with-dsym"
58+
SKIP_OBFUSCATION="NO"
59+
60+
if [ ! -z "$QUIET" ]; then
61+
echo "Building scheme in quiet mode..."
62+
echo "\tCONFIGURATION = $BUILD_CONFIG"
63+
echo "\tDEBUG_INsFORMATION_FORMAT = $DEBUG_INFORMATION_FORMAT"
64+
echo "\tSKIP_OBFUSCATION = $SKIP_OBFUSCATION"
65+
fi
66+
67+
xcodebuild clean build \
68+
$QUIET \
69+
-project "$PROJECT" \
70+
-scheme "$SCHEME" \
71+
-configuration "$BUILD_CONFIG" \
72+
DEBUG_INFORMATION_FORMAT="$DEBUG_INFORMATION_FORMAT" \
73+
SKIP_OBFUSCATION=$SKIP_OBFUSCATION
74+
check_utility_result $?
75+
76+
PRODUCTS_DIR=$(xcodebuild -project "$PROJECT" \
77+
-scheme "$SCHEME" \
78+
-configuration "$BUILD_CONFIG" \
79+
-showBuildSettings \
80+
| grep "BUILT_PRODUCTS_DIR" \
81+
| grep -oEi "\/.*")
82+
83+
echo "PRODUCTS_DIR = $PRODUCTS_DIR"
84+
cd "$PRODUCTS_DIR"
85+
86+
ARTIFACTS=("PermissionsKit.framework" \
87+
"PermissionsKit.framework.dSYM")
88+
for ARTIFACT in "${ARTIFACTS[@]}"
89+
do
90+
if [ -e "$ARTIFACT" ]; then
91+
zip -r -y "$ARTIFACT.zip" "$ARTIFACT"; check_utility_result $?
92+
add_artifact "$ARTIFACT.zip"; check_utility_result $?
93+
fi
94+
done
95+
}
96+
97+
rm -rf "$ARTIFACTS_DIR"
98+
buildAndArchive
99+
100+
echo "Finished successfuly"
101+
exit 0

0 commit comments

Comments
 (0)