-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #864 from Joel-C-Johnson/update-makefile-845
Updated the make file
- Loading branch information
Showing
4 changed files
with
48 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ ACTIVATE_VENV := . $(ENVPATH)/bin/activate && | |
|
||
SHELL := /bin/bash | ||
|
||
.PHONY: pre-requistite venv-configure venv-activate install-dependencies check-package into-database environmental-variables installing-usfmgrammar installing-docker kratosconfig | ||
.PHONY: pre-requistite venv-configure venv-activate install-dependencies check-package environmental-variables installing-docker run-app | ||
|
||
pre-requisite: #basic python packages to run the makefile | ||
@if ! dpkg -s python3-pip &> /dev/null; then \ | ||
|
@@ -45,39 +45,29 @@ check-package: ## Check if packages from requirements.txt are installed | |
echo "Some packages are missing or failed to install."; \ | ||
fi | ||
|
||
|
||
installing-psql: | ||
@if psql --version | grep -q "15.3"; then \ | ||
echo "You already have psql 15.3 installed."; \ | ||
echo "You already have psql 15.3 installed."; \ | ||
else \ | ||
read -p "You currently have a different version of psql installed. Do you want to proceed with installing psql 15.3? (y/N) " response; \ | ||
if [[ $$response =~ ^[Yy]$$ ]]; then \ | ||
echo "Installing psql 15.3..."; \ | ||
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'; \ | ||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null; \ | ||
sudo apt update; \ | ||
sudo apt remove postgresql postgresql-contrib; \ | ||
sudo apt install postgresql-15 postgresql-contrib-15; \ | ||
else \ | ||
echo "Aborted installation."; \ | ||
fi; \ | ||
fi | ||
|
||
|
||
into-database: ## Accessing the database folder | ||
sudo -u postgres psql -tc "SELECT 1 FROM pg_database WHERE datname='vachan_db'" | grep -q 1 || sudo -u postgres psql -c "CREATE DATABASE vachan_db" | ||
|
||
cd db && sudo -u postgres psql vachan_db < seed_DB.sql | ||
|
||
read -p "You currently have a different version of psql installed. Do you want to proceed with installing psql 15.3? (y/N) " response; \ | ||
if [[ $$response =~ ^[Yy]$$ ]]; then \ | ||
echo "Installing psql 15.3..."; \ | ||
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'; \ | ||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null; \ | ||
sudo apt update; \ | ||
sudo apt remove postgresql postgresql-contrib; \ | ||
sudo apt install postgresql-15 postgresql-contrib-15; \ | ||
else \ | ||
echo "Aborted installation."; \ | ||
fi; \ | ||
fi | ||
|
||
|
||
environmental-variables: | ||
chmod +x setup.sh | ||
./setup.sh | ||
|
||
installing-usfmgrammar: | ||
sudo apt install npm | ||
sudo npm install -g [email protected] | ||
|
||
installing-docker: | ||
@if docker --version | grep -q "Docker version 24.0."; then \ | ||
echo "You already have Docker 24.0.1 or above installed."; \ | ||
|
@@ -107,10 +97,10 @@ installing-docker: | |
fi \ | ||
fi | ||
|
||
|
||
|
||
kratosconfig: | ||
cd docker/Kratos_config && docker compose -f quickstart.yml up | ||
run-app: | ||
source vachan-ENV/bin/activate && \ | ||
cd app && \ | ||
uvicorn main:app --port=7000 --reload | ||
|
||
|
||
setup: | ||
|
@@ -121,13 +111,6 @@ setup: | |
make install-dependencies | ||
make check-package | ||
make installing-psql | ||
make into-database | ||
make environmental-variables | ||
make installing-usfmgrammar | ||
make installing-docker | ||
make kratosconfig | ||
|
||
|
||
|
||
|
||
|
||
make run-app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Makefile Explanation | ||
|
||
## Variable Definitions: | ||
|
||
- ENVPATH := vachan-ENV: Defines a variable named ENVPATH and assigns it the value "vachan-ENV". This variable will likely be used to reference the path to a virtual environment. | ||
- ACTIVATE_VENV := . $(ENVPATH)/bin/activate &&: Defines another variable named ACTIVATE_VENV. The value assigned to it is a command that will activate the virtual environment located in the ENVPATH directory. It uses the . command to source the activate script in the virtual environment's bin directory, and the && operator ensures that the subsequent command (which will likely be used later in the Makefile) is only executed if the activation is successful. | ||
- SHELL := /bin/bash: Sets the default shell to use for executing commands within the Makefile. In this case, it's set to /bin/bash. | ||
|
||
## Phony Targets: | ||
|
||
- PHONY: pre-requistite venv-configure venv-activate install-dependencies check-package into-database environmental-variables installing-usfmgrammar installing-docker kratosconfig: Declares several targets as "phony". Phony targets are not actual files but are used to represent specific actions within the Makefile. This line ensures that Make doesn't treat these targets as files and doesn't try to rebuild them. | ||
|
||
## Make Targets: | ||
|
||
- pre-requisite:: Checks if the python3-pip and python3-venv packages are installed. If not, it installs them using sudo apt install. | ||
- venv-configure:: Creates a virtual environment in the directory specified by ENVPATH using the python3 -m venv command. | ||
- venv-activate:: Activates the virtual environment using the ACTIVATE_VENV variable. | ||
- install-dependencies:: Installs the dependencies listed in the requirements.txt file using pip install within the activated virtual environment. | ||
- check-package:: Checks if all the packages listed in requirements.txt are installed. If any are missing, it installs them using pip install. | ||
- installing-psql:: Checks if PostgreSQL version 15.3 is installed. If not, it prompts the user to install it and then installs it using sudo apt install. | ||
- environmental-variables:: Makes a script named setup.sh executable and then runs it. This script likely sets certain environment variables needed for the project. | ||
- installing-docker:: Checks if Docker version 24.0.1 or above is installed. If not, it prompts the user to install it and then installs it using the official Docker repository. | ||
- run-app:: Navigates to the cd app folder and runs uvicorn main:app --port=7000 --debug --reload to start the app | ||
|
||
## Default Target: | ||
|
||
- setup:: The default target that is executed when you run make without specifying a specific target. It calls all the other targets in sequence, effectively setting up the entire project environment. |