mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
BUG Ensure sake works when called from any directory
This commit is contained in:
parent
e9e7bd649e
commit
884fdd61b1
46
sake
46
sake
@ -9,40 +9,30 @@ Executes a SilverStripe command"
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# find the silverstripe installation
|
# find the silverstripe installation, looking first at sake
|
||||||
|
# bin location, but falling back to current directory
|
||||||
sakedir=`dirname $0`
|
sakedir=`dirname $0`
|
||||||
if [ -f "$sakedir/cli-script.php" ]; then
|
|
||||||
framework="$sakedir"
|
|
||||||
base=`dirname $sakedir`
|
|
||||||
elif [ -f ./cli-script.php ]; then
|
|
||||||
framework=.
|
|
||||||
base=..
|
|
||||||
else
|
|
||||||
# look up the tree for the first parent folder that has a framework
|
|
||||||
# installation
|
|
||||||
slashes=${PWD//[^\/]/}
|
|
||||||
directory="$PWD"
|
directory="$PWD"
|
||||||
base=.
|
if [ -f "$sakedir/cli-script.php" ]; then
|
||||||
for (( n=${#slashes}; n>0; --n )) do
|
# Calling sake from vendor/silverstripe/framework/sake
|
||||||
if [ -d "$directory/vendor/silverstripe/framework" ]; then
|
framework="$sakedir"
|
||||||
|
base="$sakedir/../../.."
|
||||||
|
elif [ -f "$sakedir/../silverstripe/framework/cli-script.php" ]; then
|
||||||
|
# Calling sake from vendor/bin/sake
|
||||||
|
framework="$sakedir/../silverstripe/framework"
|
||||||
|
base="$sakedir/../.."
|
||||||
|
elif [ -f "$directory/vendor/silverstripe/framework/cli-script.php" ]; then
|
||||||
|
# Vendor framework (from base) if sake installed globally
|
||||||
framework="$directory/vendor/silverstripe/framework"
|
framework="$directory/vendor/silverstripe/framework"
|
||||||
|
base=.
|
||||||
break
|
elif [ -f "$directory/framework/cli-script.php" ]; then
|
||||||
elif [ -d "$directory/framework" ]; then
|
# Legacy directory (from base) if sake installed globally
|
||||||
framework="$directory/framework"
|
framework="$directory/framework"
|
||||||
|
base=.
|
||||||
break
|
else
|
||||||
fi
|
echo "Can't find cli-script.php in $sakedir"
|
||||||
|
|
||||||
directory=`dirname $directory`
|
|
||||||
base="$base."
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ ! -f "$framework/cli-script.php" ]; then
|
|
||||||
echo "Can't find cli-script.php in $framework"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# Find the PHP binary
|
# Find the PHP binary
|
||||||
for candidatephp in php php5; do
|
for candidatephp in php php5; do
|
||||||
|
Loading…
Reference in New Issue
Block a user