blob: 3172789b6f8c419325dc736dbb5aa06997f73552 [file] [log] [blame]
#!/bin/bash
set -e
# Requires depot_tools and git:
# https://skia.org/user/download
# Build notes:
# https://skia.org/user/build
# GLFW requires CMake
SKIA_REPO="${SKIA_REPO:-https://github.com/rive-app/skia}"
SKIA_BRANCH="${SKIA_BRANCH:-rive}"
# note: we have imports in recorder that rely on this being "skia"
# either: change that in recorder, or check out skia into a subfolder
# both have consequences.
SKIA_DIR_NAME="${SKIA_DIR_NAME:-skia}"
_skiaExists() {
if test -d $SKIA_DIR_NAME/.git; then
return 0
else
return 1
fi
}
_skiaHasExpectedRemote() {
if test -d $SKIA_DIR_NAME/.git; then
pushd $SKIA_DIR_NAME
if git remote -v |grep "$SKIA_REPO"; then
popd
return 0
else
popd
echo "Skia it is using the wrong remote."
return 1
fi
else
echo "Skia is expected to be a git repo"
return 1
fi
}
_updateSkia() {
pushd $SKIA_DIR_NAME
git fetch && git pull
popd
}
_cloneSkia() {
echo "Cloning Skia [$SKIA_REPO : $SKIA_BRANCH] into $SKIA_DIR_NAME."
git clone $SKIA_REPO $SKIA_DIR_NAME
}
_removeSkia(){
echo "Removing skia folder."
rm -rf $SKIA_DIR_NAME
}
getSkia () {
# -----------------------------
# Get Skia:
# -----------------------------
if _skiaExists; then
if _skiaHasExpectedRemote; then
_updateSkia
else
_removeSkia
_cloneSkia
fi
else
_removeSkia
_cloneSkia
fi
pushd $SKIA_DIR_NAME
echo "Checking out branch $SKIA_BRANCH"
git checkout $SKIA_BRANCH
python tools/git-sync-deps
popd
}