aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlian-manonog <lian.manonog@gmail.com>2024-08-16 14:16:03 +0100
committerlian-manonog <lian.manonog@gmail.com>2024-08-16 14:16:03 +0100
commite97ab6b46f181db107b7a640f386f5f57480347c (patch)
tree5823944cd23589745cfb97700518df5d10c5eb24
parent3d56751d93eeb5ef6cef1f44dd54ee38fcd1fe3c (diff)
downloadde-project-bentley-e97ab6b46f181db107b7a640f386f5f57480347c.tar.gz
de-project-bentley-e97ab6b46f181db107b7a640f386f5f57480347c.zip
add makefile in root: not in use currently
-rw-r--r--Makefile80
1 files changed, 80 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..077cd98
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,80 @@
+##############################################
+# #
+# MAKEFILE TO BUILD THE PROJECT #
+# #
+##############################################
+
+PROJECT_NAME = de-project-bentley
+REGION = eu-west-2
+PYTHON_INTERPRETER = python
+WD=$(shell pwd)
+PYTHONPATH=${WD}
+SHELL := /bin/bash
+PROFILE = default
+PIP:=pip
+
+## PYTHON INTERPRETER ENVIRONMENT
+create-environment:
+ @echo ">>> About to create environment: $(PROJECT_NAME)..."
+ @echo ">>> check python3 version"
+ ( \
+ $(PYTHON_INTERPRETER) --version; \
+ )
+ @echo ">>> Setting up VirtualEnv."
+ ( \
+ $(PIP) install -q virtualenv virtualenvwrapper; \
+ virtualenv venv --python=$(PYTHON_INTERPRETER); \
+ )
+
+ACTIVATE_ENV := source venv/bin/activate
+
+# Execute python related functionalities from within the project's environment
+define execute_in_env
+ $(ACTIVATE_ENV) && $1
+endef
+
+## Build the environment requirements
+requirements: create-environment
+ $(call execute_in_env, $(PIP) install -r ./requirements.txt)
+
+# Set Up
+## Install bandit
+bandit:
+ $(call execute_in_env, $(PIP) install bandit)
+
+## Install safety
+safety:
+ $(call execute_in_env, $(PIP) install safety)
+
+## Install black
+black:
+ $(call execute_in_env, $(PIP) install black)
+
+## Install coverage
+coverage:
+ $(call execute_in_env, $(PIP) install coverage)
+
+## Set up dev requirements (bandit, safety, black)
+dev-setup: bandit safety black coverage
+
+# Build / Run
+
+## Run the security test (bandit + safety)
+security-test:
+ $(call execute_in_env, safety check -r ./requirements.txt)
+ $(call execute_in_env, bandit -lll */*.py *c/*/*.py)
+
+## Run the black code check
+run-black:
+ $(call execute_in_env, black ./src/*/*.py ./test/*/*.py)
+
+## Run the unit tests
+unit-test:
+ $(call execute_in_env, PYTHONPATH=${PYTHONPATH} pytest -v)
+
+## Run the coverage check
+check-coverage:
+ $(call execute_in_env, PYTHONPATH=${PYTHONPATH} pytest --cov=src test/)
+
+## Run all checks
+run-checks: security-test run-black unit-test check-coverage
git.ajschof.me — hosted by ajschofield — powered by cgit