#!/usr/bin/env bash source $BIN_DIR/utils MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' -printf '%d\t%P\n' | sort -nk1 | cut -f2 | head -1) MANAGE_FILE=${MANAGE_FILE:-fakepath} [ -f .heroku/collectstatic_disabled ] && DISABLE_COLLECTSTATIC=1 bpwatch start collectstatic if [ ! "$DISABLE_COLLECTSTATIC" ] && [ -f "$MANAGE_FILE" ]; then set +e echo "-----> Preparing static assets" # Check if collectstatic is configured properly. python $MANAGE_FILE collectstatic --dry-run --noinput &> /dev/null && RUN_COLLECTSTATIC=true # Compile assets if collectstatic appears to be kosher. if [ "$RUN_COLLECTSTATIC" ]; then echo " Running collectstatic..." python $MANAGE_FILE collectstatic --noinput 2>&1 | sed '/^Copying/d;/^$/d;/^ /d' | indent [ $? -ne 0 ] && { echo " ! Error running 'manage.py collectstatic'. More info:" echo " http://devcenter.heroku.com/articles/django-assets" } else echo " Collectstatic configuration error. To debug, run:" echo " $ heroku run python $MANAGE_FILE collectstatic --noinput" fi echo fi bpwatch stop collectstatic