Skip to content

Commit 8d06ec2

Browse files
committed
Setup community edition
1 parent 7c69bfe commit 8d06ec2

File tree

1 file changed

+136
-119
lines changed

1 file changed

+136
-119
lines changed

update_cblite_c.sh

Lines changed: 136 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set -e
44

55
RED="\e[31m"
66
GREEN="\e[32m"
7+
BLUE="\e[34m"
78
ENDCOLOR="\e[0m"
89

910
function echoGreen() {
@@ -14,6 +15,10 @@ function echoRed() {
1415
echo -e "${RED}$1${ENDCOLOR}"
1516
}
1617

18+
function echoBlue {
19+
echo -e "${BLUE}$1${ENDCOLOR}"
20+
}
21+
1722
scriptDir=$(dirname "$0")
1823
echo "Script directory: $scriptDir"
1924

@@ -58,16 +63,6 @@ fi
5863
tmpFolder=$(mktemp -d)
5964
echo "Temporary directory ${tmpFolder}"
6065

61-
# ################################## #
62-
# Download couchbase-lite-C packages #
63-
# ################################## #
64-
65-
echoGreen "Start downloading"
66-
67-
tmpDownloadFolder="${tmpFolder}/download"
68-
mkdir $tmpDownloadFolder
69-
echo "Temporary download directory ${tmpFolder}"
70-
7166
declare -A platforms=(
7267
[linux]=linux-x86_64.tar.gz
7368
[windows]=windows-x86_64.zip
@@ -76,167 +71,189 @@ declare -A platforms=(
7671
[ios]=ios.zip
7772
)
7873

79-
function download() {
80-
local suffix="$1"
74+
variants=("community", "enterprise")
8175

82-
local url="https://packages.couchbase.com/releases/couchbase-lite-c/${version}/couchbase-lite-c-enterprise-${version}-${suffix}"
83-
local file="${tmpDownloadFolder}/${suffix}"
76+
for variant in ${myArray[@]}; do
77+
echoBlue "Start variant $variant"
8478

85-
wget --quiet --show-progress --output-document "${file}" "${url}"
86-
}
8779

88-
for platform in "${!platforms[@]}"
89-
do
90-
echo "Downloading ${platform} package"
80+
# ################################## #
81+
# Download couchbase-lite-C packages #
82+
# ################################## #
9183

92-
fileName=${platforms[$platform]}
93-
download $fileName
94-
done
84+
echoGreen "Start downloading"
9585

96-
echoGreen "Downloading successful"
86+
tmpDownloadFolder="${tmpFolder}/${variant}/download"
87+
mkdir $tmpDownloadFolder
88+
echo "Temporary download directory ${tmpFolder}"
9789

98-
# ############## #
99-
# Unzip packages #
100-
# ############## #
90+
function download() {
91+
local platformName="$1"
92+
local variant="$2"
10193

102-
echoGreen "Start unzipping"
94+
local url="https://packages.couchbase.com/releases/couchbase-lite-c/${version}/couchbase-lite-c-${variant}-${version}-${platformName}"
95+
local file="${tmpDownloadFolder}/${platformName}"
10396

104-
tmpUnzipFolder="${tmpFolder}/unzip"
105-
mkdir $tmpUnzipFolder
106-
echo "Temporary unzip directory ${tmpUnzipFolder}"
97+
wget --quiet --show-progress --output-document "${file}" "${url}"
98+
}
10799

108-
for platform in "${!platforms[@]}"
109-
do
110-
echo "Unzipping ${platform} package"
111100

112-
fileName=${platforms[$platform]}
113-
zippedPath="$tmpDownloadFolder/$fileName"
114101

115-
unzipPlatformFolder="${tmpUnzipFolder}/$platform"
116-
mkdir $unzipPlatformFolder
102+
for platform in "${!platforms[@]}"
103+
do
104+
echo "Downloading ${platform} package"
117105

118-
tar -x -f $zippedPath --directory $unzipPlatformFolder
119-
done
106+
platformName=${platforms[$platform]}
107+
download $platformName $variant
108+
done
120109

121-
echoGreen "Unzipping successful"
110+
echoGreen "Downloading successful"
122111

123-
# ######################## #
124-
# Package libcblite folder #
125-
# ######################## #
112+
# ############## #
113+
# Unzip packages #
114+
# ############## #
126115

127-
echoGreen "Package libcblite"
116+
echoGreen "Start unzipping"
128117

129-
tmpLibcbliteFolder="${tmpFolder}/libcblite"
130-
mkdir $tmpLibcbliteFolder
131-
echo "Temporary libcblite directory ${tmpLibcbliteFolder}"
118+
tmpUnzipFolder="${tmpFolder}/${variant}/unzip"
119+
mkdir $tmpUnzipFolder
120+
echo "Temporary unzip directory ${tmpUnzipFolder}"
132121

133-
libFolder="${tmpLibcbliteFolder}/lib"
134-
mkdir $libFolder
122+
for platform in "${!platforms[@]}"
123+
do
124+
echo "Unzipping ${platform} package"
135125

136-
for platform in "${!platforms[@]}"
137-
do
138-
echo "Packaging ${platform}"
126+
fileName=${platforms[$platform]}
127+
zippedPath="$tmpDownloadFolder/$fileName"
139128

140-
unzipPlatformFolder="${tmpUnzipFolder}/$platform"
129+
unzipPlatformFolder="${tmpUnzipFolder}/$platform"
130+
mkdir $unzipPlatformFolder
141131

142-
case $platform in
132+
tar -x -f $zippedPath --directory $unzipPlatformFolder
133+
done
143134

144-
linux)
145-
platformFolder="${libFolder}/x86_64-unknown-linux-gnu"
146-
mkdir $platformFolder
135+
echoGreen "Unzipping successful"
147136

148-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-gnu/libcblite.so.${version}"
149-
libDestinationFile="${platformFolder}/libcblite.so.3"
150-
cp $libFile $libDestinationFile
137+
# ######################## #
138+
# Package libcblite folder #
139+
# ######################## #
151140

152-
# There are required ICU libs already present in the existing package
153-
cp $scriptDir/libcblite/lib/x86_64-unknown-linux-gnu/libicu* $platformFolder
141+
echoGreen "Package libcblite"
154142

155-
;;
143+
tmpLibcbliteFolder="${tmpFolder}/libcblite_${variant}"
144+
mkdir $tmpLibcbliteFolder
145+
echo "Temporary libcblite directory ${tmpLibcbliteFolder}"
156146

157-
windows)
158-
platformFolder="${libFolder}/x86_64-pc-windows-gnu"
159-
mkdir $platformFolder
147+
libFolder="${tmpLibcbliteFolder}/lib"
148+
mkdir $libFolder
160149

161-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/cblite.lib"
162-
cp $libFile $platformFolder
150+
for platform in "${!platforms[@]}"
151+
do
152+
echo "Packaging ${platform}"
163153

164-
binFile="${unzipPlatformFolder}/libcblite-${version}/bin/cblite.dll"
165-
cp $binFile $platformFolder
154+
unzipPlatformFolder="${tmpUnzipFolder}/$platform"
166155

167-
;;
156+
case $platform in
168157

169-
macos)
170-
platformFolder="${libFolder}/macos"
171-
mkdir $platformFolder
158+
linux)
159+
platformFolder="${libFolder}/x86_64-unknown-linux-gnu"
160+
mkdir $platformFolder
172161

173-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/libcblite.${version}.dylib"
174-
libDestinationFile="${platformFolder}/libcblite.3.dylib"
175-
cp $libFile $libDestinationFile
162+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-gnu/libcblite.so.${version}"
163+
libDestinationFile="${platformFolder}/libcblite.so.3"
164+
cp $libFile $libDestinationFile
176165

177-
;;
166+
# There are required ICU libs already present in the existing package
167+
cp $scriptDir/libcblite/lib/x86_64-unknown-linux-gnu/libicu* $platformFolder
178168

179-
android)
180-
# aarch64
181-
platformFolder="${libFolder}/aarch64-linux-android"
182-
mkdir $platformFolder
169+
;;
183170

184-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/aarch64-linux-android/libcblite.so"
185-
cp $libFile $platformFolder
171+
windows)
172+
platformFolder="${libFolder}/x86_64-pc-windows-gnu"
173+
mkdir $platformFolder
186174

187-
# arm
188-
platformFolder="${libFolder}/arm-linux-androideabi"
189-
mkdir $platformFolder
175+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/cblite.lib"
176+
cp $libFile $platformFolder
190177

191-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/arm-linux-androideabi/libcblite.so"
192-
cp $libFile $platformFolder
178+
binFile="${unzipPlatformFolder}/libcblite-${version}/bin/cblite.dll"
179+
cp $binFile $platformFolder
193180

194-
# i686
195-
platformFolder="${libFolder}/i686-linux-android"
196-
mkdir $platformFolder
181+
;;
197182

198-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/i686-linux-android/libcblite.so"
199-
cp $libFile $platformFolder
183+
macos)
184+
platformFolder="${libFolder}/macos"
185+
mkdir $platformFolder
200186

201-
# x86_64
202-
platformFolder="${libFolder}/x86_64-linux-android"
203-
mkdir $platformFolder
187+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/libcblite.${version}.dylib"
188+
libDestinationFile="${platformFolder}/libcblite.3.dylib"
189+
cp $libFile $libDestinationFile
204190

205-
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-android/libcblite.so"
206-
cp $libFile $platformFolder
191+
;;
207192

208-
# Some files/directories must be moved only once for all platforms: include directory & LICENSE.txt
209-
cp -R "${unzipPlatformFolder}/libcblite-${version}/include" $tmpLibcbliteFolder
193+
android)
194+
# aarch64
195+
platformFolder="${libFolder}/aarch64-linux-android"
196+
mkdir $platformFolder
210197

211-
cp "${unzipPlatformFolder}/libcblite-${version}/LICENSE.txt" $tmpLibcbliteFolder
198+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/aarch64-linux-android/libcblite.so"
199+
cp $libFile $platformFolder
212200

213-
;;
201+
# arm
202+
platformFolder="${libFolder}/arm-linux-androideabi"
203+
mkdir $platformFolder
214204

215-
ios)
216-
platformFolder="${libFolder}/ios"
217-
mkdir $platformFolder
205+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/arm-linux-androideabi/libcblite.so"
206+
cp $libFile $platformFolder
218207

219-
cp -R "${unzipPlatformFolder}/CouchbaseLite.xcframework" $platformFolder
208+
# i686
209+
platformFolder="${libFolder}/i686-linux-android"
210+
mkdir $platformFolder
220211

221-
;;
222-
esac
223-
done
212+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/i686-linux-android/libcblite.so"
213+
cp $libFile $platformFolder
224214

225-
echoGreen "Packaging libcblite successful"
215+
# x86_64
216+
platformFolder="${libFolder}/x86_64-linux-android"
217+
mkdir $platformFolder
226218

227-
# ######################## #
228-
# Replace libcblite folder #
229-
# ######################## #
219+
libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-android/libcblite.so"
220+
cp $libFile $platformFolder
230221

231-
echoGreen "Replace libcblite directory by newly package one"
222+
# Some files/directories must be moved only once for all platforms: include directory & LICENSE.txt
223+
cp -R "${unzipPlatformFolder}/libcblite-${version}/include" $tmpLibcbliteFolder
232224

233-
rm -rf $scriptDir/libcblite
225+
cp "${unzipPlatformFolder}/libcblite-${version}/LICENSE.txt" $tmpLibcbliteFolder
234226

235-
cp -R $tmpLibcbliteFolder $scriptDir
227+
;;
236228

237-
rm -rf $tmpFolder
229+
ios)
230+
platformFolder="${libFolder}/ios"
231+
mkdir $platformFolder
232+
233+
cp -R "${unzipPlatformFolder}/CouchbaseLite.xcframework" $platformFolder
234+
235+
;;
236+
esac
237+
done
238+
239+
echoGreen "Packaging libcblite successful"
240+
241+
# ######################## #
242+
# Replace libcblite folder #
243+
# ######################## #
244+
245+
echoGreen "Replace libcblite directory by newly package one"
238246

239-
echoGreen "Replacing libcblite successful"
247+
rm -rf $scriptDir/libcblite_$variant
248+
249+
cp -R $tmpLibcbliteFolder $scriptDir
250+
251+
echoGreen "Replacing libcblite successful"
252+
253+
echoBlue "Finish variant $variant"
254+
done
255+
256+
rm -rf $tmpFolder
240257

241258
# ################### #
242259
# Strip the libraries #

0 commit comments

Comments
 (0)