Adjust darwin build configuration to new project structure.
This commit is contained in:
41
platform-darwin/Scripts/updateDependencies
Executable file
41
platform-darwin/Scripts/updateDependencies
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
# This script should be in the 'Scripts' directory under the git repository's root.
|
||||
cd "${BASH_SOURCE%/*}/.."
|
||||
shopt -s extglob
|
||||
|
||||
|
||||
## Submodules that need to be checked out.
|
||||
dependencies=( External/{InAppSettingsKit,Pearl{,:External/jrswizzle,:External/uicolor-utilities},RHStatusItemView} )
|
||||
|
||||
## Custom migration.
|
||||
# None yet.
|
||||
|
||||
|
||||
################################################################################
|
||||
isCheckedOut() {
|
||||
local modulePath=$1
|
||||
! git submodule status | grep -q "^-[^ ]* $modulePath"
|
||||
}
|
||||
|
||||
# git submodule sync -- A bug causes this to init ALL external dependencies.
|
||||
git submodule sync $(git submodule status | awk '/^ / { print $2 }')
|
||||
|
||||
|
||||
# Check out our missing dependencies
|
||||
for dependency in "${dependencies[@]}"; do
|
||||
[[ $dependency = *:* ]] && root=${dependency%%:*} || root=.
|
||||
path=${dependency#*:}
|
||||
( cd "$root"; git submodule update --init "$path" )
|
||||
done
|
||||
|
||||
|
||||
# Update our modules
|
||||
git submodule update
|
||||
|
||||
|
||||
# Our modules may define a custom update script, if so, run it.
|
||||
find !(Scripts)/ -name "${BASH_SOURCE##*/}" -exec {} \;
|
||||
|
||||
|
||||
# Finally, for our modules that haven't got a custom update script, update them recursively.
|
||||
git submodule update --recursive --rebase
|
Reference in New Issue
Block a user