-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmake_dist.sh
executable file
·140 lines (116 loc) · 3.63 KB
/
make_dist.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/sh
PROJECT_ROOT=$(cd `dirname $0` && pwd)
BUILD_DIR="${PROJECT_ROOT}/DerivedData/CZiti/Build/Products"
DERIVED_BUILD_DIR="${PROJECT_ROOT}/DerivedData/CZiti/Build/Intermediates.noindex/CZiti.build"
DIST_DIR="${PROJECT_ROOT}/dist"
PROJECT_NAME="CZiti"
LIB_NAME="libCZiti.a"
SWIFTMODULE_NAME="CZiti.swiftmodule"
: ${CONFIGURATION:="Release"}
# make for iOS, macOS, or All
: ${FOR:="All"}
function create_framework {
pod_name="$1"
dist_dir="$2"
derived_sources_dir="$3"
lib1="$4"
lib2="$5"
module1="$6"
module2="$7"
echo "creating framework in ${dist_dir}"
rm -rf ${dist_dir}
if [ $? -ne 0 ] ; then
echo "Unable to clean ${dist_dirs}"
exit 1
fi
mkdir -p ${dist_dir}/${PROJECT_NAME}.framework/Modules/${SWIFTMODULE_NAME}
if [ $? -ne 0 ] ; then
echo "Unable to create ditribution dir - Modules"
exit 1
fi
mkdir -p ${dist_dir}/${PROJECT_NAME}.framework/Headers
if [ $? -ne 0 ] ; then
echo "Unable to create ditribution dir - Headers"
exit 1
fi
if [ -z "${module2}" ] ; then
lipo -create "${lib1}" -o ${dist_dir}/${PROJECT_NAME}.framework/${PROJECT_NAME}
else
lipo -create "${lib1}" "${lib2}" -o ${dist_dir}/${PROJECT_NAME}.framework/${PROJECT_NAME}
fi
if [ $? -ne 0 ] ; then
echo "Unable to lipo create"
exit 1
fi
if [ -z "${module2}" ] ; then
cp -r "${module1}"/* ${dist_dir}/${PROJECT_NAME}.framework/Modules/${SWIFTMODULE_NAME}
else
cp -r "${module1}"/* "${module2}"/* ${dist_dir}/${PROJECT_NAME}.framework/Modules/${SWIFTMODULE_NAME}
fi
if [ $? -ne 0 ] ; then
echo "Unable to copy swiftmodule"
exit 1
fi
cp ${derived_sources_dir}/CZiti-Swift.h ${dist_dir}/${PROJECT_NAME}.framework/Headers
if [ $? -ne 0 ] ; then
echo "Unable to copy -Swift.h file"
exit 1
fi
# Create the pod dir (will be tgz'd on publish)
pod_dir="${dist_dir}/Pods/${pod_name}"
mkdir -p "${pod_dir}"
if [ $? -ne 0 ] ; then
echo "Unable to create pod dir"
exit 1
fi
cp -r "${dist_dir}/${PROJECT_NAME}.framework" "${pod_dir}"
if [ $? -ne 0 ] ; then
echo "Unable to copy framework to pod dir"
exit 1
fi
cp LICENSE "${pod_dir}"
if [ $? -ne 0 ] ; then
echo "Unable to copy LICENSE to pod dir"
exit 1
fi
cp ${dist_dir}/${PROJECT_NAME}.framework/Headers/CZiti-Swift.h "${pod_dir}"
if [ $? -ne 0 ] ; then
echo "Unable to copy CZiti-Swift.h to pod dir"
exit 1
fi
touch "${pod_dir}/SFile.swift"
touch "${pod_dir}/OFile.m"
echo "Done creating ${dist_dir}/${PROJECT_NAME}.framework"
}
#
# iOS
#
if [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then
create_framework "CZiti-iOS" \
"${DIST_DIR}/iOS/${CONFIGURATION}" \
"${DERIVED_BUILD_DIR}/${CONFIGURATION}-iphoneos/CZiti-iOS.build/DerivedSources" \
"${BUILD_DIR}/${CONFIGURATION}-iphoneos/${LIB_NAME}" \
"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${LIB_NAME}" \
"${BUILD_DIR}/${CONFIGURATION}-iphoneos/${SWIFTMODULE_NAME}" \
"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${SWIFTMODULE_NAME}"
if [ $? -ne 0 ] ; then
echo "Unable to create framework for iOS"
exit 1
fi
fi
#
# macOS
#
if [ "${FOR}" = "All" ] || [ "${FOR}" = "macOS" ] ; then
create_framework "CZiti-macOS" \
"${DIST_DIR}/macOS/${CONFIGURATION}" \
"${DERIVED_BUILD_DIR}/${CONFIGURATION}/CZiti-macOS.build/DerivedSources" \
"${BUILD_DIR}/${CONFIGURATION}/${LIB_NAME}" \
"" \
"${BUILD_DIR}/${CONFIGURATION}/${SWIFTMODULE_NAME}" \
""
if [ $? -ne 0 ] ; then
echo "Unable to create framework for macOS"
exit 1
fi
fi