The submodule is a leftover from when this project was intended to work as a series of microservices. It was meant to provide common functionality to the builds for every microservice. That's no longer the case, and the submodule is a pain-point both in on-boarding new developers and running the Docker build.
74 lines
1.8 KiB
Plaintext
74 lines
1.8 KiB
Plaintext
# setup: Set up application for the first time after cloning, or set it
|
|
# back to the initial first unused state.
|
|
|
|
# Load setup functions
|
|
source ./script/include/setup_functions.inc.sh
|
|
|
|
## Set option defaults
|
|
# If CREATE_VENV is not set, set it to "true"
|
|
if [ -z "${CREATE_VENV+is_set}" ]; then
|
|
CREATE_VENV="true"
|
|
fi
|
|
|
|
# If INSTALL_SASS is not set, set it to "false"
|
|
if [ -z "${INSTALL_SASS+is_set}" ]; then
|
|
INSTALL_SASS="false"
|
|
fi
|
|
|
|
# If PIP_VERSION is not set, set it to "10.*"
|
|
if [ -z "${PIP_VERSION+is_set}" ]; then
|
|
PIP_VERSION="10.*"
|
|
fi
|
|
|
|
# If RESET_DB is not set, set it to "false"
|
|
if [ -z "${RESET_DB+is_set}" ]; then
|
|
RESET_DB="false"
|
|
fi
|
|
|
|
# If KEEP_EXISTING_VENV is not set, set it to "false"
|
|
if [ -z "${KEEP_EXISTING_VENV+is_set}" ]; then
|
|
KEEP_EXISTING_VENV="false"
|
|
fi
|
|
|
|
## Main
|
|
# Remove any existing node modules as part of initial app setup or reset
|
|
rm -rf ./node_modules
|
|
|
|
if [ "${CREATE_VENV}" = "true" ]; then
|
|
# Ensure pipenv is installed
|
|
if ! pipenv --version >/dev/null 2>&1 ; then
|
|
echo "ERROR: pipenv is malfunctioning or not present"
|
|
exit 1
|
|
fi
|
|
|
|
python_version=$(grep python_version ./Pipfile | cut -d '"' -f 2)
|
|
if ! check_for_existing_virtual_environment "${python_version}" || \
|
|
[ "${KEEP_EXISTING_VENV}" = "false" ]
|
|
then
|
|
create_virtual_environment "${python_version}"
|
|
fi
|
|
|
|
pip_install "pip==${PIP_VERSION}" "--upgrade"
|
|
fi
|
|
|
|
if [ "${INSTALL_SASS}" = "true" ]; then
|
|
install_sass
|
|
fi
|
|
|
|
# Install application dependencies
|
|
./script/bootstrap
|
|
|
|
if [ "${RESET_DB}" = "true" ]; then
|
|
# Fetch postgres settings and set them as ENV vars
|
|
source ./script/get_db_settings
|
|
|
|
if [ -n "${PGDATABASE}" ]; then
|
|
echo "Resetting database ${PGDATABASE}..."
|
|
# Reset the db
|
|
reset_db "${PGDATABASE}"
|
|
else
|
|
echo "ERROR: RESET_DB is set, but PGDATABASE is not!"
|
|
echo "Skipping database reset..."
|
|
fi
|
|
fi
|