#!/bin/bash # This script because we support $HOMEBREW_GIT, $HOMEBREW_SVN, etc., Xcode-only and # no Xcode/CLT configurations. Order is careful to be what the user would want. if [ -z "$HOMEBREW_LIBRARY" ] then echo "${0##*/}: This shim is internal and must be run via brew." >&2 exit 1 fi # Don't need shellcheck to follow the `source`. # shellcheck disable=SC1090 source "$HOMEBREW_LIBRARY/Homebrew/shims/utils.sh" case "$(lowercase "$SHIM_FILE")" in git) if [[ -n "$HOMEBREW_GIT" && "$HOMEBREW_GIT" != git ]] then safe_exec "$(type -P "$HOMEBREW_GIT")" "$@" fi ;; svn) if [[ -n "$HOMEBREW_SVN" && "$HOMEBREW_SVN" != svn ]] then safe_exec "$(type -P "$HOMEBREW_SVN")" "$@" fi ;; esac brew_prefix_version="$HOMEBREW_PREFIX/bin/$SHIM_FILE" safe_exec "$brew_prefix_version" "$@" try_exec_non_system "$SHIM_FILE" "$@" if executable "/usr/bin/xcode-select" then # xcode-select will return empty on no Xcode/CLT configuration. # /usr/bin/ will be a popup stub under such configuration. # xcrun hangs if xcode-select is set to "/" xcode_path="$(/usr/bin/xcode-select -print-path 2>/dev/null)" if [[ -z "$xcode_path" ]] then if [[ "$HOMEBREW_MACOS_VERSION_NUMERIC" -ge "100900" ]] then popup_stub=1 fi fi if [[ -z "$popup_stub" && "$xcode_path" != "/" ]] then path="$(/usr/bin/xcrun -find "$SHIM_FILE" 2>/dev/null)" safe_exec "$path" "$@" fi fi path="/Applications/Xcode.app/Contents/Developer/usr/bin/$SHIM_FILE" safe_exec "$path" "$@" if [[ -z "$popup_stub" && "$HOMEBREW_MACOS_VERSION_NUMERIC" -lt "101500" ]] then path="/usr/bin/$SHIM_FILE" safe_exec "$path" "$@" fi echo "You must: brew install $SHIM_FILE" >&2 exit 1