mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
80 lines
1.7 KiB
Plaintext
Executable File
80 lines
1.7 KiB
Plaintext
Executable File
shopt -s extglob
|
|
|
|
# Syntax sugar.
|
|
indent() {
|
|
RE="s/^/ /"
|
|
[ $(uname) == "Darwin" ] && sed -l "$RE" || sed -u "$RE"
|
|
}
|
|
|
|
# Clean up pip output
|
|
cleanup() {
|
|
sed -l -e 's/\.\.\.\+/.../g' | sed -e '/already satisfied/Id' | sed -l -e '/Overwriting/Id' | sed -l -e '/python executable/Id' | sed -l -e '/no previously-included files/Id'
|
|
}
|
|
|
|
# Virtualenv wrapper.
|
|
function virtualenv (){
|
|
python "$ROOT_DIR/vendor/virtualenv-1.8.4/virtualenv.py" "$@"
|
|
}
|
|
|
|
# Buildpack Steps.
|
|
function puts-step (){
|
|
echo "-----> $@"
|
|
}
|
|
|
|
# Buildpack Warnings.
|
|
function puts-warn (){
|
|
echo " ! $@"
|
|
}
|
|
|
|
# Usage: $ set-env key value
|
|
function set-env (){
|
|
echo "export $1=$2" >> $PROFILE_PATH
|
|
}
|
|
|
|
# Usage: $ set-default-env key value
|
|
function set-default-env (){
|
|
echo "export $1=\${$1:-$2}" >> $PROFILE_PATH
|
|
}
|
|
|
|
# Usage: $ set-default-env key value
|
|
function un-set-env (){
|
|
echo "unset $1" >> $PROFILE_PATH
|
|
}
|
|
|
|
# Does some serious copying.
|
|
function deep-cp (){
|
|
find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec cp -a '{}' $2 \;
|
|
cp -r $1/!(tmp) $2
|
|
# echo copying $1 to $2
|
|
}
|
|
|
|
# Does some serious moving.
|
|
function deep-mv (){
|
|
deep-cp $1 $2
|
|
|
|
rm -fr $1/!(tmp)
|
|
find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec rm -fr '{}' \;
|
|
}
|
|
|
|
# Recursively finds requirements.txt files
|
|
function list-req (){
|
|
echo $@
|
|
for req in $(grep -Fie "-r " $@ | sed 's/-r //g')
|
|
do
|
|
path="$(dirname $@)/$req"
|
|
list-req $path
|
|
done
|
|
}
|
|
|
|
# Find pattern in requirements files recursively
|
|
# Usage: $ in-req pattern file
|
|
function in-req (){
|
|
for file in $(list-req $2)
|
|
do
|
|
if (grep -Fiqe "$1" "$file") then
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|