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
839486c2
Commit
839486c2
authored
Jul 17, 2013
by
Kenneth Reitz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make things pretty, skip anvil build for normal runs
parent
5d562001
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
41 deletions
+46
-41
compile
bin/compile
+46
-41
No files found.
bin/compile
View file @
839486c2
...
@@ -30,13 +30,14 @@ PYTHON_EXE="/app/.heroku/python/bin/python"
...
@@ -30,13 +30,14 @@ PYTHON_EXE="/app/.heroku/python/bin/python"
PIP_VERSION
=
"1.3.1"
PIP_VERSION
=
"1.3.1"
DISTRIBUTE_VERSION
=
"0.6.36"
DISTRIBUTE_VERSION
=
"0.6.36"
# Setup bpwatch
export
PATH
=
$PATH
:
$ROOT_DIR
/vendor/bpwatch
export
PATH
=
$PATH
:
$ROOT_DIR
/vendor/bpwatch
LOGPLEX_KEY
=
"t.b396af7f-ad75-4643-8b9e-ebb288acc624"
LOGPLEX_KEY
=
"t.b396af7f-ad75-4643-8b9e-ebb288acc624"
BUILDPACK_VERSION
=
HEAD
export
BPWATCH_STORE_PATH
=
$CACHE_DIR
/bpwatch.json
export
BPWATCH_STORE_PATH
=
$CACHE_DIR
/bpwatch.json
# BUILDPACK_VERSION=v23
BUILDPACK_VERSION
=
HEAD
# Support Anvil Build_IDs
[
!
"
$REQUEST_ID
"
]
&&
REQUEST_ID
=
$SLUG_ID
[
!
"
$REQUEST_ID
"
]
&&
REQUEST_ID
=
$SLUG_ID
# Sanitizing environment variables.
# Sanitizing environment variables.
...
@@ -61,13 +62,15 @@ TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
...
@@ -61,13 +62,15 @@ TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
# Copy Anvil app dir to temporary storage...
# Copy Anvil app dir to temporary storage...
bpwatch start anvil_appdir_stage
bpwatch start anvil_appdir_stage
mkdir
-p
$TMP_APP_DIR
if
[
"
$SLUG_ID
"
]
;
then
deep-mv
$APP_DIR
$TMP_APP_DIR
mkdir
-p
$TMP_APP_DIR
deep-mv
$APP_DIR
$TMP_APP_DIR
fi
bpwatch stop anvil_appdir_stage
bpwatch stop anvil_appdir_stage
# Copy Application code in.
# Copy Application code in.
bpwatch start appdir_stage
bpwatch start appdir_stage
deep-mv
$BUILD_DIR
$APP_DIR
deep-mv
$BUILD_DIR
$APP_DIR
bpwatch stop appdir_stage
bpwatch stop appdir_stage
# Set new context.
# Set new context.
...
@@ -86,7 +89,7 @@ cd $BUILD_DIR
...
@@ -86,7 +89,7 @@ cd $BUILD_DIR
# Experimental pre_compile hook.
# Experimental pre_compile hook.
bpwatch start pre_compile
bpwatch start pre_compile
source
$BIN_DIR
/steps/hooks/pre_compile
source
$BIN_DIR
/steps/hooks/pre_compile
bpwatch stop pre_compile
bpwatch stop pre_compile
# If no requirements given, assume `setup.py develop`.
# If no requirements given, assume `setup.py develop`.
...
@@ -106,15 +109,15 @@ mkdir -p $CACHE_DIR
...
@@ -106,15 +109,15 @@ mkdir -p $CACHE_DIR
# Purge "old-style" virtualenvs.
# Purge "old-style" virtualenvs.
bpwatch start clear_old_venvs
bpwatch start clear_old_venvs
[
-d
$CACHE_DIR
/
$LEGACY_TRIGGER
]
&&
rm
-fr
$CACHE_DIR
/.heroku/bin
$CACHE_DIR
/.heroku/lib
$CACHE_DIR
/.heroku/include
[
-d
$CACHE_DIR
/
$LEGACY_TRIGGER
]
&&
rm
-fr
$CACHE_DIR
/.heroku/bin
$CACHE_DIR
/.heroku/lib
$CACHE_DIR
/.heroku/include
[
-d
$CACHE_DIR
/
$VIRTUALENV_LOC
]
&&
rm
-fr
$CACHE_DIR
/.heroku/venv
$CACHE_DIR
/.heroku/src
[
-d
$CACHE_DIR
/
$VIRTUALENV_LOC
]
&&
rm
-fr
$CACHE_DIR
/.heroku/venv
$CACHE_DIR
/.heroku/src
bpwatch stop clear_old_venvs
bpwatch stop clear_old_venvs
# Restore old artifacts from the cache.
# Restore old artifacts from the cache.
bpwatch start restore_cache
bpwatch start restore_cache
for
dir
in
$CACHED_DIRS
;
do
for
dir
in
$CACHED_DIRS
;
do
cp
-R
$CACHE_DIR
/
$dir
.
&> /dev/null
||
true
cp
-R
$CACHE_DIR
/
$dir
.
&> /dev/null
||
true
done
done
bpwatch stop restore_cache
bpwatch stop restore_cache
set
+e
set
+e
...
@@ -131,8 +134,8 @@ PYTHON_VERSION=$(cat runtime.txt)
...
@@ -131,8 +134,8 @@ PYTHON_VERSION=$(cat runtime.txt)
if
[
-f
.heroku/python-version
]
;
then
if
[
-f
.heroku/python-version
]
;
then
if
[
!
$(
cat
.heroku/python-version
)
=
$PYTHON_VERSION
]
;
then
if
[
!
$(
cat
.heroku/python-version
)
=
$PYTHON_VERSION
]
;
then
bpwatch start uninstall_python
bpwatch start uninstall_python
puts-step
"Found
$(
cat
.heroku/python-version
)
, removing."
puts-step
"Found
$(
cat
.heroku/python-version
)
, removing."
rm
-fr
.heroku/python
rm
-fr
.heroku/python
bpwatch stop uninstall_python
bpwatch stop uninstall_python
else
else
SKIP_INSTALL
=
1
SKIP_INSTALL
=
1
...
@@ -142,14 +145,14 @@ fi
...
@@ -142,14 +145,14 @@ fi
if
[
!
"
$SKIP_INSTALL
"
]
;
then
if
[
!
"
$SKIP_INSTALL
"
]
;
then
bpwatch start install_python
bpwatch start install_python
puts-step
"Preparing Python runtime (
$PYTHON_VERSION
)"
puts-step
"Preparing Python runtime (
$PYTHON_VERSION
)"
curl http://envy-versions.s3.amazonaws.com/
$PYTHON_VERSION
.tar.bz2
-s
|
tar
jx &> /dev/null
curl http://envy-versions.s3.amazonaws.com/
$PYTHON_VERSION
.tar.bz2
-s
|
tar
jx &> /dev/null
if
[[
$?
!=
0
]]
;
then
if
[[
$?
!=
0
]]
;
then
puts-warn
"Requested runtime (
$PYTHON_VERSION
) was not found."
puts-warn
"Requested runtime (
$PYTHON_VERSION
) was not found."
puts-warn
"Aborting. More info: https://devcenter.heroku.com/articles/python-support"
puts-warn
"Aborting. More info: https://devcenter.heroku.com/articles/python-support"
exit
1
exit
1
fi
fi
mv
python .heroku/python
mv
python .heroku/python
bpwatch stop install_python
bpwatch stop install_python
# Record for future reference.
# Record for future reference.
...
@@ -168,18 +171,18 @@ if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
...
@@ -168,18 +171,18 @@ if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
bpwatch start prepare_environment
bpwatch start prepare_environment
bpwatch start install_distribute
bpwatch start install_distribute
# Prepare it for the real world
# Prepare it for the real world
puts-step
"Installing Distribute (
$DISTRIBUTE_VERSION
)"
puts-step
"Installing Distribute (
$DISTRIBUTE_VERSION
)"
cd
$ROOT_DIR
/vendor/distribute-
$DISTRIBUTE_VERSION
/
cd
$ROOT_DIR
/vendor/distribute-
$DISTRIBUTE_VERSION
/
python setup.py
install
&> /dev/null
python setup.py
install
&> /dev/null
cd
$WORKING_DIR
cd
$WORKING_DIR
bpwatch stop install_distribute
bpwatch stop install_distribute
bpwatch start install_pip
bpwatch start install_pip
puts-step
"Installing Pip (
$PIP_VERSION
)"
puts-step
"Installing Pip (
$PIP_VERSION
)"
cd
$ROOT_DIR
/vendor/pip-
$PIP_VERSION
/
cd
$ROOT_DIR
/vendor/pip-
$PIP_VERSION
/
python setup.py
install
&> /dev/null
python setup.py
install
&> /dev/null
cd
$WORKING_DIR
cd
$WORKING_DIR
bpwatch stop install_pip
bpwatch stop install_pip
bpwatch stop prepare_environment
bpwatch stop prepare_environment
...
@@ -191,13 +194,13 @@ hash -r
...
@@ -191,13 +194,13 @@ hash -r
# Pylibmc support.
# Pylibmc support.
# See [`bin/steps/pylibmc`](pylibmc.html).
# See [`bin/steps/pylibmc`](pylibmc.html).
bpwatch start pylibmc_install
bpwatch start pylibmc_install
source
$BIN_DIR
/steps/pylibmc
source
$BIN_DIR
/steps/pylibmc
bpwatch stop pylibmc_install
bpwatch stop pylibmc_install
# Install Mercurial if it appears to be required.
# Install Mercurial if it appears to be required.
if
(
grep
-Fiq
"hg+"
requirements.txt
)
then
if
(
grep
-Fiq
"hg+"
requirements.txt
)
then
bpwatch start mercurial_install
bpwatch start mercurial_install
/app/.heroku/python/bin/pip
install
--use-mirrors
mercurial | cleanup | indent
/app/.heroku/python/bin/pip
install
--use-mirrors
mercurial | cleanup | indent
bpwatch stop mercurial_install
bpwatch stop mercurial_install
fi
fi
...
@@ -215,7 +218,7 @@ puts-step "Installing dependencies using Pip ($PIP_VERSION)"
...
@@ -215,7 +218,7 @@ puts-step "Installing dependencies using Pip ($PIP_VERSION)"
# Django collectstatic support.
# Django collectstatic support.
bpwatch start collectstatic
bpwatch start collectstatic
source
$BIN_DIR
/steps/collectstatic
source
$BIN_DIR
/steps/collectstatic
bpwatch stop collectstatic
bpwatch stop collectstatic
# ### Finalize
# ### Finalize
...
@@ -234,24 +237,26 @@ set-default-env PYTHONPATH /app/
...
@@ -234,24 +237,26 @@ set-default-env PYTHONPATH /app/
# Experimental post_compile hook.
# Experimental post_compile hook.
bpwatch start post_compile
bpwatch start post_compile
source
$BIN_DIR
/steps/hooks/post_compile
source
$BIN_DIR
/steps/hooks/post_compile
bpwatch stop post_compile
bpwatch stop post_compile
# Store new artifacts in cache.
# Store new artifacts in cache.
bpwatch start dump_cache
bpwatch start dump_cache
for
dir
in
$CACHED_DIRS
;
do
for
dir
in
$CACHED_DIRS
;
do
rm
-rf
$CACHE_DIR
/
$dir
rm
-rf
$CACHE_DIR
/
$dir
cp
-R
$dir
$CACHE_DIR
/
cp
-R
$dir
$CACHE_DIR
/
done
done
bpwatch stop dump_cache
bpwatch stop dump_cache
# ### Fin.
# ### Fin.
bpwatch start appdir_commit
bpwatch start appdir_commit
deep-mv
$BUILD_DIR
$ORIG_BUILD_DIR
deep-mv
$BUILD_DIR
$ORIG_BUILD_DIR
bpwatch stop appdir_commit
bpwatch stop appdir_commit
bpwatch start anvil_appdir_commit
bpwatch start anvil_appdir_commit
deep-mv
$TMP_APP_DIR
$APP_DIR
if
[
"
$SLUG_ID
"
]
;
then
deep-mv
$TMP_APP_DIR
$APP_DIR
fi
bpwatch stop anvil_appdir_commit
bpwatch stop anvil_appdir_commit
bpwatch stop compile
bpwatch stop compile
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