#!/usr/bin/env bash

# export CLINT_FORCE_COLOR=1
# export PIPENV_FORCE_COLOR=1
# shellcheck source=bin/utils
source $BIN_DIR/utils

# Pipenv support (Generate requriements.txt with pipenv).
if [[ -f Pipfile ]]; then
    if [[ ! -f requirements.txt ]]; then
        puts-step "Installing requirements with latest Pipenv…"

        # Measure that we're using Pipenv.
        mcount "tool.pipenv"

        # Install pipenv.
        /app/.heroku/python/bin/pip install pipenv --upgrade &> /dev/null

        # Install the dependencies.
        if [[ ! -f Pipfile.lock ]]; then
            /app/.heroku/python/bin/pipenv install --system --skip-lock 2>&1 | indent
        else
            /app/.heroku/python/bin/pipenv install --system --deploy 2>&1 | indent
        fi

        # Install the test dependencies, for CI.
        if [ "$INSTALL_TEST" ]; then
            puts-step "Installing test dependencies…"
            /app/.heroku/python/bin/pipenv install --dev --system --deploy 2>&1 | cleanup | indent
        fi

        # Skip pip install, later.
        export SKIP_PIP_INSTALL=1

        # Pip freeze, for compatibility.
        /app/.heroku/python/bin/pip freeze > requirements.txt

    fi
fi
