Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
heroku-buildpack-python
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
heroku-buildpack-python
Commits
4ade6c04
Commit
4ade6c04
authored
Dec 28, 2012
by
Saul Shanabrook
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Helper functions to test if in requirements used for checking for mercurial install and for pylibmc
parent
e5c389e6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
7 deletions
+32
-7
compile
bin/compile
+1
-1
pylibmc
bin/steps/pylibmc
+8
-5
utils
bin/utils
+23
-1
No files found.
bin/compile
View file @
4ade6c04
...
@@ -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
-Fi
q
"hg+"
requirements.txt
)
then
if
(
in
-re
q
"hg+"
requirements.txt
)
then
pip
install
--use-mirrors
mercurial | cleanup | indent
pip
install
--use-mirrors
mercurial | cleanup | indent
fi
fi
...
...
bin/steps/pylibmc
View file @
4ade6c04
#!/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
-Fi
q
"pylibmc"
requirements.txt
)
then
if
(
in
-re
q
"pylibmc"
requirements.txt
)
then
echo
"-----> Noticed pylibmc. Bootstrapping libmemcached."
echo
"-----> Noticed pylibmc. Bootstrapping libmemcached."
cd
.heroku
cd
.heroku
...
...
bin/utils
View file @
4ade6c04
...
@@ -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
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment