build(Makefile): Rewrite target structured names, continued.
This commit is contained in:
parent
1b5c02fffd
commit
e38adb42b3
96
Makefile
96
Makefile
@ -90,11 +90,11 @@ release:
|
||||
|
||||
.PHONY: %-shell
|
||||
# HELP: launch shell (bash) inside a currently running container
|
||||
%-shell: --%-shell;
|
||||
%-shell: --%_shell;
|
||||
--shell:
|
||||
$(CONTAINER_COMMAND) exec -it $(EXEC_OPTS) fradrive.$(CURR_DEV).$* $(if $(ENTRYPOINT),$(ENTRYPOINT),/bin/bash)
|
||||
|
||||
compile-%: --%-containerized-compile;
|
||||
compile-%: --%_containerized_--compile;
|
||||
|
||||
##### GENERAL TARGETS #####
|
||||
###########################
|
||||
@ -102,50 +102,50 @@ compile-%: --%-containerized-compile;
|
||||
##############################################
|
||||
##### SERVICE DEPENDENCIES AND VARIABLES #####
|
||||
|
||||
--frontend-%: FRADRIVE_SERVICE=frontend
|
||||
--frontend-%: SERVICE_VARIANT=frontend
|
||||
--frontend-%: SINGLETON = false
|
||||
--frontend-%: WATCH = false
|
||||
--frontend-%:
|
||||
--frontend_%: FRADRIVE_SERVICE=frontend
|
||||
--frontend_%: SERVICE_VARIANT=frontend
|
||||
--frontend_%: SINGLETON = false
|
||||
--frontend_%: WATCH = false
|
||||
--frontend_%:
|
||||
# TODO --containerized-% is not yet working; comment this in again as soon as it does
|
||||
# $(MAKE) -- --containerized-static --containerized-well-known
|
||||
$(MAKE) -- --$*
|
||||
|
||||
--backend-%: FRADRIVE_SERVICE=backend
|
||||
--backend-%: SERVICE_VARIANT=backend
|
||||
--backend-%: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443"
|
||||
--backend-%: SINGLETON = false
|
||||
--backend-%:
|
||||
$(MAKE) -- --frontend-containerized-compile
|
||||
--backend_%: FRADRIVE_SERVICE=backend
|
||||
--backend_%: SERVICE_VARIANT=backend
|
||||
--backend_%: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443"
|
||||
--backend_%: SINGLETON = false
|
||||
--backend_%:
|
||||
$(MAKE) -- --frontend_containerized_--compile
|
||||
$(MAKE) -- --$*
|
||||
|
||||
--hoogle-%: FRADRIVE_SERVICE=backend
|
||||
--hoogle-%: SERVICE_VARIANT=hoogle
|
||||
--hoogle-%: BASE_PORTS = "HOOGLE_PORT=8081"
|
||||
--hoogle-%: SINGLETON = true
|
||||
--hoogle-%:
|
||||
--hoogle_%: FRADRIVE_SERVICE=backend
|
||||
--hoogle_%: SERVICE_VARIANT=hoogle
|
||||
--hoogle_%: BASE_PORTS = "HOOGLE_PORT=8081"
|
||||
--hoogle_%: SINGLETON = true
|
||||
--hoogle_%:
|
||||
$(MAKE) -- --$*
|
||||
|
||||
# --uniworxdb was --db in old versions
|
||||
--uniworxdb-%: FRADRIVE_SERVICE=backend
|
||||
--uniworxdb-%: SERVICE_VARIANT=uniworxdb
|
||||
--uniworxdb-%:
|
||||
--uniworxdb_%: FRADRIVE_SERVICE=backend
|
||||
--uniworxdb_%: SERVICE_VARIANT=uniworxdb
|
||||
--uniworxdb_%:
|
||||
$(MAKE) -- --$*
|
||||
|
||||
--minio-%: FRADRIVE_SERVICE=minio
|
||||
--minio-%: SERVICE_VARIANT=minio
|
||||
--minio-%:
|
||||
--minio_%: FRADRIVE_SERVICE=minio
|
||||
--minio_%: SERVICE_VARIANT=minio
|
||||
--minio_%:
|
||||
$(MAKE) -- --$*
|
||||
|
||||
--memcached-%: FRADRIVE_SERVICE=memcached
|
||||
--memcached-%: SERVICE_VARIANT=memcached
|
||||
--memcached-%:
|
||||
--memcached_%: FRADRIVE_SERVICE=memcached
|
||||
--memcached_%: SERVICE_VARIANT=memcached
|
||||
--memcached_%:
|
||||
$(MAKE) -- --$*
|
||||
|
||||
# --postgres was --database in old versions
|
||||
--postgres-%: BASE_PORTS = "PGPORT=5432"
|
||||
--postgres-%: SINGLETON = true
|
||||
--postgres-%:
|
||||
--postgres_%: BASE_PORTS = "PGPORT=5432"
|
||||
--postgres_%: SINGLETON = true
|
||||
--postgres_%:
|
||||
$(MAKE) -- --$*
|
||||
|
||||
##### SERVICE DEPENDENCIES AND VARIABLES #####
|
||||
@ -164,7 +164,7 @@ compile:
|
||||
$(MAKE) compile-frontend
|
||||
$(MAKE) compile-backend
|
||||
|
||||
--compile-%: --checkvarsset --develop --%
|
||||
--compile_%: --checkvarsset --develop --%
|
||||
|
||||
.PHONY: lint
|
||||
# HELP: lint frontend and backend
|
||||
@ -279,7 +279,7 @@ ifeq ($(SERVICE_VARIANT), backend)
|
||||
endif
|
||||
|
||||
# HELP(uniworxdb): clear and fill database. requires running postgres
|
||||
uniworxdb: --frontend-compile --backend-imagebuild-containerized-uniworxdb-start;
|
||||
uniworxdb: --frontend_compile --backend_imagebuild_containerized_--uniworxdb_start;
|
||||
# TODO (db-m-$MIGRATION-backend): apply migration (see src/Model/Migration/Definition.hs for list of available migrations)
|
||||
ifeq ($(SERVICE_VARIANT), uniworxdb)
|
||||
--start: .stack
|
||||
@ -293,7 +293,7 @@ endif
|
||||
if [ "$(IN_CONTAINER)" == "true" ] ; then \
|
||||
$(MAKE) -- --.stack ; \
|
||||
else \
|
||||
$(MAKE) -- --image-run---.stack ; \
|
||||
$(MAKE) -- --imagerun_--.stack ; \
|
||||
fi
|
||||
--.stack: stack.yaml stack.yaml.lock package.yaml
|
||||
stack build --fast --only-dependencies
|
||||
@ -306,11 +306,11 @@ endif
|
||||
##### DATABASE TARGETS #####
|
||||
|
||||
ifeq ($(SERVICE_VARIANT), postgres)
|
||||
--containerized-%: --checkvarsset docker/database/initdb.sh docker/database/pg_hba.conf docker/database/postgresql.conf docker/database/schema.sql --image-build
|
||||
$(MAKE) -- --imagerun-$*
|
||||
--containerized_%: --checkvarsset docker/database/initdb.sh docker/database/pg_hba.conf docker/database/postgresql.conf docker/database/schema.sql --image-build
|
||||
$(MAKE) -- --imagerun_$*
|
||||
else
|
||||
--containerized-%: --checkvarsset
|
||||
$(MAKE) -- --imagerun-$*
|
||||
--containerized_%: --checkvarsset
|
||||
$(MAKE) -- --imagerun_$*
|
||||
endif
|
||||
|
||||
.PHONY: psql
|
||||
@ -344,7 +344,7 @@ psql: --database-shell;
|
||||
# --containerized-%-minio: --image-build
|
||||
# $(MAKE) -- --image-run-$*-minio
|
||||
ifeq ($(SERVICE_VARIANT), minio)
|
||||
--containerized-start:
|
||||
--containerized_start:
|
||||
UPLOAD_S3_PORT=`cat $(CONTAINER_FILE) | grep 'UPLOAD_S3_PORT=' | sed 's/UPLOAD_S3_PORT=//'`; \
|
||||
MINIO_DIR=`mktemp` ; \
|
||||
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" "" "rm -rf $${MINIO_DIR}" & \
|
||||
@ -356,7 +356,7 @@ endif
|
||||
# --containerized-%-memcached: --image-build
|
||||
# $(MAKE) -- --image-run-$*-memcached
|
||||
ifeq ($(SERVICE_VARIANT), memcached)
|
||||
--containerized-start:
|
||||
--containerized_start:
|
||||
MEMCACHED_PORT=`cat $(CONTAINER_FILE) | grep 'MEMCACHED_PORT=' | sed 's/MEMCACHED_PORT=//'`; \
|
||||
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" & \
|
||||
CONTAINER_ID=`$(CONTAINER_BGRUN) --name fradrive.$(CURR_DEV).memcached $(MEMCACHED_IMAGE) --port=$${MEMCACHED_PORT}` ; \
|
||||
@ -365,7 +365,7 @@ endif
|
||||
|
||||
.PHONY: image-rebuild
|
||||
# HELP(image-rebuild-{backend,frontend,database,memcached,minio}): force-rebuild the stated docker image
|
||||
image-rebuild-%:
|
||||
image-rebuild_%:
|
||||
$(MAKE) -- --image-build FRADRIVE_SERVICE=$* NO_CACHE=--no-cache
|
||||
--image-build:
|
||||
rm -f .Dockerfile
|
||||
@ -380,16 +380,16 @@ image-rebuild-%:
|
||||
fi
|
||||
|
||||
# runs --% in the container. Targets meant to be called manually cannot be run in the container via this target. If that is ever needed split this target into two targets, one for manually one for automatic (one may use the other) so that not at every usage a '---' has to be after containerized
|
||||
--imagerun-%: --checkvarsset docker/$(FRADRIVE_SERVICE)/Dockerfile
|
||||
--imagerun_%: --checkvarsset docker/$(FRADRIVE_SERVICE)/Dockerfile
|
||||
MOUNT_DIR=/mnt/fradrive; \
|
||||
if [ "$(IN_CONTAINER)" == "true" ] ; then \
|
||||
$(MAKE) -- $* ; \
|
||||
else \
|
||||
if [ -z "$(CONTAINER_FILE)" ] ; then \
|
||||
$(CONTAINER_FGRUN) -v $(PWD):$${MOUNT_DIR} --env FRADRIVE_SERVICE=$(FRADRIVE_SERVICE) --env SERVICE_VARIANT=$(SERVICE_VARIANT) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=--$* --env CONTAINER_FILE=$(CONTAINER_FILE) --env CONTAINER_FILE_CONTENT=$(CONTAINER_FILE_CONTENT) --env WATCH=$(WATCH) --name fradrive.$(CURR_DEV).$(SERVICE_VARIANT) localhost/fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
$(CONTAINER_FGRUN) -v $(PWD):$${MOUNT_DIR} --env FRADRIVE_SERVICE=$(FRADRIVE_SERVICE) --env SERVICE_VARIANT=$(SERVICE_VARIANT) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env CONTAINER_FILE=$(CONTAINER_FILE) --env CONTAINER_FILE_CONTENT=$(CONTAINER_FILE_CONTENT) --env WATCH=$(WATCH) --name fradrive.$(CURR_DEV).$(SERVICE_VARIANT) localhost/fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
else \
|
||||
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" & \
|
||||
CONTAINER_ID=`$(CONTAINER_BGRUN) -v $(PWD):$${MOUNT_DIR} --env FRADRIVE_SERVICE=$(FRADRIVE_SERVICE) --env SERVICE_VARIANT=$(SERVICE_VARIANT) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=--$* --env CONTAINER_FILE=$(CONTAINER_FILE) --env CONTAINER_FILE_CONTENT=$(CONTAINER_FILE_CONTENT) --env WATCH=$(WATCH) --name fradrive.$(CURR_DEV).$(SERVICE_VARIANT) localhost/fradrive/$(FRADRIVE_SERVICE)` ; \
|
||||
CONTAINER_ID=`$(CONTAINER_BGRUN) -v $(PWD):$${MOUNT_DIR} --env FRADRIVE_SERVICE=$(FRADRIVE_SERVICE) --env SERVICE_VARIANT=$(SERVICE_VARIANT) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env CONTAINER_FILE=$(CONTAINER_FILE) --env CONTAINER_FILE_CONTENT=$(CONTAINER_FILE_CONTENT) --env WATCH=$(WATCH) --name fradrive.$(CURR_DEV).$(SERVICE_VARIANT) localhost/fradrive/$(FRADRIVE_SERVICE)` ; \
|
||||
echo "CONTAINER_ID=$${CONTAINER_ID}" >> "$(CONTAINER_FILE)"; \
|
||||
fi \
|
||||
fi
|
||||
@ -402,7 +402,13 @@ image-rebuild-%:
|
||||
# HELP(start-backend): serve yesod development site
|
||||
# HELP(start-frontend): start frontend watcher. Watches frontend source files for changes and recompiles on change. (TODO: watcher functionality currently broken!)
|
||||
# HELP(start-hoogle): serve local hoogle instance
|
||||
# TODO reformulate target to use the '--%_'-mechanism
|
||||
# --autostart: use the SERVICE_VARIANT for the decision which service to start
|
||||
--autostart: --checkvarsset
|
||||
$(MAKE) -- start-$(SERVICE_VARIANT)
|
||||
|
||||
start-%: FRADRIVE_SERVICE = %
|
||||
start-%: SERVICE_VARIANT = %
|
||||
start-%: PORTS = $(foreach PORT,$(BASE_PORTS),$(shell utils/next_free_port.pl $(PORT)))
|
||||
start-%: --develop
|
||||
echo "$*"
|
||||
@ -421,7 +427,7 @@ start-%: --develop
|
||||
CONTAINER_FILE=$${DEVDIR}-$$(($${I}+1)); \
|
||||
fi ; \
|
||||
echo "$(PORTS)" | sed 's/ /\n/g' > $${CONTAINER_FILE} ; \
|
||||
$(MAKE) -- --containerized---start-$* CONTAINER_FILE=$${CONTAINER_FILE}
|
||||
$(MAKE) -- --containerized_--autostart CONTAINER_FILE=$${CONTAINER_FILE}
|
||||
|
||||
.PHONY: stop
|
||||
# HELP: stop all currently running develop instances
|
||||
@ -494,7 +500,7 @@ hoogle: start-hoogle;
|
||||
|
||||
.PHONY: i18n-check
|
||||
# HELP: check internationalization
|
||||
i18n-check: --image-run---i18n-check
|
||||
i18n-check: --imagerun_--i18n-check
|
||||
--i18n-check:
|
||||
./missing-translations.sh
|
||||
@echo No missing translations.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user