mirror of
https://github.com/zhigang1992/ReactiveViewModel.git
synced 2026-01-12 22:51:31 +08:00
74 lines
1.2 KiB
Bash
Executable File
74 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export SCRIPT_DIR=$(dirname "$0")
|
|
|
|
##
|
|
## Configuration Variables
|
|
##
|
|
|
|
config ()
|
|
{
|
|
# A whitespace-separated list of executables that must be present and locatable.
|
|
: ${REQUIRED_TOOLS="xctool"}
|
|
|
|
export REQUIRED_TOOLS
|
|
}
|
|
|
|
##
|
|
## Bootstrap Process
|
|
##
|
|
|
|
main ()
|
|
{
|
|
config
|
|
|
|
if [ -n "$REQUIRED_TOOLS" ]
|
|
then
|
|
echo "*** Checking dependencies..."
|
|
check_deps
|
|
fi
|
|
|
|
local submodules=$(git submodule status 2>/dev/null)
|
|
if [ -n "$submodules" ]
|
|
then
|
|
echo "*** Updating submodules..."
|
|
update_submodules
|
|
fi
|
|
}
|
|
|
|
check_deps ()
|
|
{
|
|
for tool in $REQUIRED_TOOLS
|
|
do
|
|
which -s "$tool"
|
|
if [ "$?" -ne "0" ]
|
|
then
|
|
echo "*** Error: $tool not found. Please install it and bootstrap again."
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
bootstrap_submodule ()
|
|
{
|
|
local bootstrap="script/bootstrap"
|
|
|
|
if [ -e "$bootstrap" ]
|
|
then
|
|
echo "*** Bootstrapping $name..."
|
|
"$bootstrap" >/dev/null
|
|
else
|
|
update_submodules
|
|
fi
|
|
}
|
|
|
|
update_submodules ()
|
|
{
|
|
git submodule sync --quiet && git submodule update --init && git submodule foreach --quiet bootstrap_submodule
|
|
}
|
|
|
|
export -f bootstrap_submodule
|
|
export -f update_submodules
|
|
|
|
main
|