@@ -24,9 +24,13 @@ CGID ?= $(LOCAL_GID)
24
24
# Define network name.
25
25
COMPOSE_NET_NAME := $(COMPOSE_PROJECT_NAME ) _front
26
26
27
- # Determine mysql data directory if defined
28
- ifeq ($(shell docker-compose config --services | grep mysql) ,mysql)
29
- MYSQL_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
27
+ SDC_SERVICES =$(shell docker-compose config --services)
28
+ # Determine database data directory if defined
29
+ ifeq ($(findstring mysql,$(SDC_SERVICES ) ) ,mysql)
30
+ DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
31
+ endif
32
+ ifeq ($(findstring postgresql,$(SDC_SERVICES ) ) ,postgresql)
33
+ DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_pgsql
30
34
endif
31
35
32
36
# Define current directory only once
@@ -59,22 +63,26 @@ ifeq ($(strip $(COMPOSE_PROJECT_NAME)),projectname)
59
63
$(info Please review your project settings and run `make all` again.)
60
64
exit 1
61
65
endif
62
- ifdef MYSQL_DIR
63
- mkdir -p $(MYSQL_DIR ) && chmod 777 $(MYSQL_DIR )
66
+ ifdef DB_MOUNT_DIR
67
+ $(shell [ ! -d $(DB_MOUNT_DIR) ] && mkdir -p $(DB_MOUNT_DIR ) && chmod 777 $(DB_MOUNT_DIR) )
64
68
endif
65
69
make -s down
66
70
@echo "Updating containers..."
67
71
docker-compose pull
68
72
@echo "Build and run containers..."
73
+ mkdir -p $(COMPOSER_HOME_CACHE)
69
74
docker-compose up -d --remove-orphans
70
75
$(call php-0, apk add --no-cache graphicsmagick $(ADD_PHP_EXT))
76
+ $(call php-0, sh -c '[ ! -z "$$COMPOSER_HOME" -a -d $$COMPOSER_HOME ] && chown -R $(CUID):$(CGID) $$COMPOSER_HOME')
71
77
$(call php-0, kill -USR2 1)
72
78
$(call php, composer global require -o --update-no-dev --no-suggest "hirak/prestissimo:^0.3")
73
79
74
80
# # Install backend dependencies
75
81
back :
76
82
docker-compose up -d --remove-orphans php # PHP container is required for composer
77
- ifeq ($(INSTALL_DEV_DEPENDENCIES ) , TRUE)
83
+ $(call php-0, apk add --no-cache $(ADD_PHP_EXT ) )
84
+ $(call php-0, kill -USR2 1)
85
+ ifdef INSTALL_DEV_DEPENDENCIES
78
86
@echo "INSTALL_DEV_DEPENDENCIES=$(INSTALL_DEV_DEPENDENCIES)"
79
87
@echo "Installing composer dependencies, including dev ones"
80
88
$(call php, composer install --prefer-dist -o)
@@ -142,9 +150,13 @@ clean: info
142
150
make -s down
143
151
$(eval SCAFFOLD = $(shell docker run --rm -v $(CURDIR ) :/mnt -w /mnt --user $(CUID ) :$(CGID ) $(IMAGE_PHP ) composer run-script list-scaffold-files | grep -P '^(?!>) ') )
144
152
@docker run --rm --user 0:0 -v $(CURDIR ) :/mnt -w /mnt -e RMLIST=" $( addprefix web/,$( SCAFFOLD) ) $( DIRS) " $(IMAGE_PHP ) sh -c ' for i in $$RMLIST; do rm -fr $$i && echo "Removed $$i"; done'
145
- ifdef MYSQL_DIR
146
- @echo "Removing mysql data from $(MYSQL_DIR) ..."
147
- docker run --rm --user 0:0 -v $(shell dirname $(MYSQL_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(MYSQL_DIR)`"
153
+ ifdef DB_MOUNT_DIR
154
+ @echo "Clean-up database data from $(DB_MOUNT_DIR) ..."
155
+ docker run --rm --user 0:0 -v $(shell dirname $(DB_MOUNT_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(DB_MOUNT_DIR)`"
156
+ endif
157
+ ifdef COMPOSER_HOME_CACHE
158
+ @echo "Clean-up composer cache from $(COMPOSER_HOME_CACHE) ..."
159
+ docker run --rm --user 0:0 -v $(shell dirname $(abspath $(COMPOSER_HOME_CACHE))):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(COMPOSER_HOME_CACHE)`"
148
160
endif
149
161
ifeq ($(CLEAR_FRONT_PACKAGES ) , yes)
150
162
make clear-front
0 commit comments