cjvt-valency/Makefile

106 lines
2.9 KiB
Makefile

# All required components, to create and fill a database,
# instantiate backend and frontend.
MAKE_ROOT = $(shell pwd)
OUTPUT = "db"
# OUTPUT = "file"
OUTDIR = "/tmp/three" # if you're running this in docker, make sure to mount the volume
DBADDR = "0.0.0.0:27017" # don't use localhost
N_CORES = 5
# insert kres files into database in chunks, for fewer connections
KRES_CHUNK_SIZE = 30
# Some backend parameters can be found in conf file (see make backend)
# credentials from .gitignored file
# create it from env.default
include env.local
export
.PHONY: python-env fill-database
all:
echo "Select an argument"
# create database (run from host):
# !!! might need to run several times, so the containers come online
# Successful if you see the lines:
# Successfully added user: { "user" : "testuser", "roles" : [ "readWrite" ] }
# bye
database-service:
cd dockerfiles/database; $(MAKE) build_run
database-users:
cd dockerfiles/database; $(MAKE) create_users
# also useful, if we want to restart the db
database-clean:
cd dockerfiles/database; $(MAKE) clean_stack
# create python-env container
python-env:
cd dockerfiles/python-env; $(MAKE)
# inside the container, install our packages
python-env-install:
pip3 install -e src/pkg/cjvt-corpusparser/.
pip3 install -e src/pkg/valency/.
# from inside python-env container:
data/samples:
cd data; tar xzvf samples.tar.gz
# from inside python-env container:
# you can set OUTPUT = "file" and a valid OUTDIR to test writing to json files instead of DB
fill-database-ssj: data/samples
python3 src/pkg/cjvt-corpusparser/corpusparser/main.py --kres-folder $(KRES_FOLDER) \
--corpus="ssj" \
--ssj-file $(SSJ_FILE) --kres-srl-folder $(KRES_SRL_FOLDER) \
--output $(OUTPUT) --outdir $(OUTDIR) --dbaddr $(DBADDR) \
--dbuser $(DB_USR_USER) --dbpass $(DB_USR_PASS) \
--cores $(N_CORES)
fill-database-kres: data/samples
python3 src/pkg/cjvt-corpusparser/corpusparser/main.py --kres-folder $(KRES_FOLDER) \
--corpus="kres" \
--ssj-file $(SSJ_FILE) --kres-srl-folder $(KRES_SRL_FOLDER) \
--output $(OUTPUT) --outdir $(OUTDIR) --dbaddr $(DBADDR) \
--dbuser $(DB_USR_USER) --dbpass $(DB_USR_PASS) \
--chunk-size $(KRES_CHUNK_SIZE) \
--cores $(N_CORES)
## Frontend
## Run from host
## See src/frontend_vue/README.md for port settings etc.
frontend-dev:
cd src/frontend_vue/; $(MAKE) dev
frontend-prod:
cd src/frontend_vue/; $(MAKE) prod
## Backend
# runs once and exits before the app starts
backend-prepare-db:
cd ./src/backend_flask; python3 app.py \
--config-file ./conf_files/dev_conf.yaml \
--dbuser $(DB_USR_USER) --dbpass $(DB_USR_PASS) --dbaddr $(DBADDR) \
--prepare-db
backend-dev:
cd ./src/backend_flask; python3 app.py \
--config-file ./conf_files/dev_conf.yaml \
--dbuser $(DB_USR_USER) --dbpass $(DB_USR_PASS) --dbaddr $(DBADDR)
backend-prod:
cd ./src/backend_flask; python3 app.py \
--config-file ./conf_files/prod_conf.yaml \
--dbuser $(DB_USR_USER) --dbpass $(DB_USR_PASS) --dbaddr $(DBADDR)