Skip to content
Snippets Groups Projects
Commit 5393ba3c authored by Kenneth Reitz's avatar Kenneth Reitz
Browse files

Merge pull request #69 from saulshanabrook/pylibmc_list_requirements

Use all requirements for checking hg+ and pylibmc, fixed #58
parents e5c389e6 4ade6c04
No related branches found
No related tags found
No related merge requests found
...@@ -173,7 +173,7 @@ set -e ...@@ -173,7 +173,7 @@ set -e
source $BIN_DIR/steps/pylibmc source $BIN_DIR/steps/pylibmc
# Install Mercurial if it appears to be required. # Install Mercurial if it appears to be required.
if (grep -Fiq "hg+" requirements.txt) then if (in-req "hg+" requirements.txt) then
pip install --use-mirrors mercurial | cleanup | indent pip install --use-mirrors mercurial | cleanup | indent
fi fi
......
#!/usr/bin/env bash #!/usr/bin/env bash
# This script serves as the Pylibmc build step of the # This script serves as the Pylibmc build step of the
# [**Python Buildpack**](https://github.com/heroku/heroku-buildpack-python) # [**Python Buildpack**](https://github.com/heroku/heroku-buildpack-python)
# compiler. # compiler.
# #
# A [buildpack](http://devcenter.heroku.com/articles/buildpacks) is an # A [buildpack](http://devcenter.heroku.com/articles/buildpacks) is an
# adapter between a Python application and Heroku's runtime. # adapter between a Python application and Heroku's runtime.
# #
# This script is invoked by [`bin/compile`](/). # This script is invoked by [`bin/compile`](/).
...@@ -12,8 +12,11 @@ ...@@ -12,8 +12,11 @@
# The location of the pre-compiled libmemcached binary. # The location of the pre-compiled libmemcached binary.
VENDORED_MEMCACHED="http://cl.ly/0a191R3K160t1w1P0N25/vendor-libmemcached.tar.gz" VENDORED_MEMCACHED="http://cl.ly/0a191R3K160t1w1P0N25/vendor-libmemcached.tar.gz"
# Syntax sugar.
source $BIN_DIR/utils
# If pylibmc exists within requirements, use vendored libmemcached. # If pylibmc exists within requirements, use vendored libmemcached.
if (grep -Fiq "pylibmc" requirements.txt) then if (in-req "pylibmc" requirements.txt) then
echo "-----> Noticed pylibmc. Bootstrapping libmemcached." echo "-----> Noticed pylibmc. Bootstrapping libmemcached."
cd .heroku cd .heroku
......
...@@ -49,4 +49,26 @@ function deep-mv (){ ...@@ -49,4 +49,26 @@ function deep-mv (){
rm -fr $1/!(tmp) rm -fr $1/!(tmp)
find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec rm -fr '{}' \; find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec rm -fr '{}' \;
} }
\ No newline at end of file
# 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
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment