2121# git-ref - Specific git ref of H3 to build.
2222# use-docker - "true" to perform cross compilation via Docker, "false" to
2323# skip that step.
24- # remove-images - If use-docker is true and this argument is true, Docker
25- # cross compilation images will be removed after each step
24+ # system-prune - If use-docker is true and this argument is true, Docker
25+ # system prune will be run after each step
2626# (i.e. for disk space constrained environments like CI)
27+ # dockcross-tag - Tag name for dockcross
2728#
2829# This script downloads H3, builds H3 and the H3-Java native library, and
2930# cross compiles via Docker.
@@ -36,7 +37,8 @@ set -ex
3637GIT_REMOTE=$1
3738GIT_REVISION=$2
3839USE_DOCKER=$3
39- REMOVE_IMAGES=$4
40+ SYSTEM_PRUNE=$4
41+ DOCKCROSS_TAG=$5
4042
4143echo Downloading H3 from " $GIT_REMOTE "
4244
@@ -156,21 +158,25 @@ if ! command -v docker; then
156158 exit 0
157159fi
158160
159- dockcross_tag=" 20211126-f096312"
161+ # Needed for older versions of dockcross
162+ UPGRADE_CMAKE=true
163+ CMAKE_ROOT=target/cmake-3.23.2-linux-x86_64
164+ mkdir -p $CMAKE_ROOT
160165
161166# linux-armv6 excluded because of build failure
162- for image in android-arm android-arm64 linux-arm64 linux-armv5 linux-armv7 linux-mips linux-s390x \
167+ # linux-mips excluded due to manifest error
168+ for image in android-arm android-arm64 linux-arm64 linux-armv5 linux-armv7 linux-s390x \
163169 linux-ppc64le linux-x64 linux-x86 windows-static-x64 windows-static-x86; do
164170
165171 # Setup for using dockcross
166172 BUILD_ROOT=target/h3-java-build-$image
167173 mkdir -p $BUILD_ROOT
168- docker pull dockcross/$image :$dockcross_tag
169- docker run --rm dockcross/$image :$dockcross_tag > $BUILD_ROOT /dockcross
174+ docker pull dockcross/$image :$DOCKCROSS_TAG
175+ docker run --rm dockcross/$image :$DOCKCROSS_TAG > $BUILD_ROOT /dockcross
170176 chmod +x $BUILD_ROOT /dockcross
171177
172178 # Perform the actual build inside Docker
173- $BUILD_ROOT /dockcross --args " -v $JAVA_HOME :/java" src/main/c/h3-java/build-h3-docker.sh " $BUILD_ROOT "
179+ $BUILD_ROOT /dockcross --args " -v $JAVA_HOME :/java" src/main/c/h3-java/build-h3-docker.sh " $BUILD_ROOT " " $UPGRADE_CMAKE " " $CMAKE_ROOT "
174180
175181 # Copy the built artifact into the source tree so it can be included in the
176182 # built JAR.
@@ -186,8 +192,9 @@ for image in android-arm android-arm64 linux-arm64 linux-armv5 linux-armv7 linux
186192 if [ -e $BUILD_ROOT /lib/libh3-java.dylib ]; then cp $BUILD_ROOT /lib/libh3-java.dylib $OUTPUT_ROOT ; fi
187193 if [ -e $BUILD_ROOT /lib/libh3-java.dll ]; then cp $BUILD_ROOT /lib/libh3-java.dll $OUTPUT_ROOT ; fi
188194
189- if $REMOVE_IMAGES ; then
190- docker rmi dockcross/$image
195+ if $SYSTEM_PRUNE ; then
196+ docker system prune --force --all
197+ docker system df
191198 rm $BUILD_ROOT /dockcross
192199 fi
193200 echo Current disk usage:
0 commit comments